【问题标题】:ASP.Net Core MVC Passing model to controller empty why?ASP.Net Core MVC 将模型传递给控制器​​为什么是空的?
【发布时间】:2021-06-22 15:49:07
【问题描述】:

我有一个显示来自我的数据库的数据的剃须刀视图页面。我有一个提交按钮,它使用模型调用操作,但在控制器中模型是空的。有人可以解释一下我做错了什么吗?这是我的剃须刀页面代码:

                    <div class="row align-items-start mt-4">
                        <div class="col-12">
                            <a class="btn btn-primary float-right" asp-controller="CustomerDetails" asp-action="UpdateCustomer" asp-route-customermodel="@Model.customer"><span class="fas fa-plus-circle"></span> Submit</a>
                        </div>
                    </div>

这是我的控制器代码:-

        public IActionResult UpdateCustomer(Customer customermodel)
        {
            if (ModelState.IsValid)
            {
                customerRepository.update(customermodel);
            } else
            {
                string error = ModelState.Values.ToString();
            }

            return View("../Home/Index");
        }

我发现下面的代码行似乎可以工作,但我必须再次添加 50 个属性名称而不仅仅是模型。似乎这不是正确的方法,或者我做错了。

public ActionResult Create([Bind(Include = "CourseID,Title,Credits,DepartmentID")]Course course)

感谢您的建议,

【问题讨论】:

    标签: asp.net-core model controller return


    【解决方案1】:

    如果你使用asp-route-customermodel="@Model.customer",你会得到:

    <a class="btn btn-primary float-right" href="/CustomerDetails/UpdateCustomer?customermodel=ClientSideDemo3.Models.Customer"><span class="fas fa-plus-circle"></span> Submit</a>
    

    asp-route-xxx无法绑定模型,这里有一个演示:

    型号:

    public class Customer
        {
            public int Id { get; set; }
            public string Name { get; set; }
        }
    

    查看:

     <a class="btn btn-primary float-right" asp-controller="CustomerDetails" asp-action="UpdateCustomer" asp-route-Id="@Model.customer.Id" asp-route-Name="@Model.customer.Name"><span class="fas fa-plus-circle"></span> Submit</a>
    

    结果:

    【讨论】:

    • 感谢您的回答,但我的问题是我的模型中有大约 50 个属性。
    • 你最好用一个表格,把输入隐藏起来。
    • 肯定不是每个属性?我将模型绑定到用户进行更改的所有控件,因此我要做的就是将其发布回更新数据库的操作。非常感谢任何帮助。
    猜你喜欢
    • 2011-07-27
    • 1970-01-01
    • 1970-01-01
    • 2011-12-16
    • 2014-10-17
    • 1970-01-01
    • 1970-01-01
    • 2020-11-22
    • 1970-01-01
    相关资源
    最近更新 更多