控制器从MVC4中的视图接收null/ 0值

本文关键字:null 视图 MVC4 控制器 | 更新日期: 2023-09-27 18:12:17

下面是我的代码:

控制器:

public ActionResult InsertData(CoModel coModel)
{
    if (ModelState.IsValid)
    {
        db.Entry(coModel).State = EntityState.Modified;
        db.SaveChanges();
        return RedirectToAction("Index");
    }
    return View(coModel);
}   

模型:

public class CoModel
{
    [Key]
    public int id { get; set; }      
    public string item_no { get; set; }       
    public string destination { get; set; }      
    public int total_piece { get; set; }
}   

视图:

@using (Html.BeginForm("InsertData", "ControllerName", FormMethod.Post, new { Id = "Form1"}))
{
    @foreach (var item in Model)
    {
        @Html.DisplayFor(modelItem => item.item_no)  @Html.HiddenFor(model => item.item_no)
        @Html.DisplayFor(modelItem => item.destination) @Html.HiddenFor(model => item.destination) 
        @Html.DisplayFor(modelItem => item.total_piece) @Html.HiddenFor(model => item.total_piece)
        <button type="submit">Save</button>
    }
}
这是我的问题。为什么每次我按下Save按钮时控制器都会收到null/0值?我的编码有问题吗?

控制器从MVC4中的视图接收null/ 0值

你正在使用隐藏的DisplayFor。您必须使用EditorFor, TextBox, TextBoxFor, TextArea和其他渲染输入HTML类型不同的隐藏