这是我的代码
@model MyModel
@using (Html.BeginForm("Action", "Controller", FormMethod.Post, new { @enctype = "multipart/form-data" }))
{
Html.HiddenFor(x => x.ID);
<label>Name: </label>@Html.EditorFor(x => x.Name);
<button>Submit</button>
}
由于某种原因,在我的控制器中,我得到MyModel
的值为Name = new name
但ID = null
为什么会这样?
答案 0 :(得分:0)
仅检查一行代码是问题,但没有出现错误:
@model MyModel
@using (Html.BeginForm("Action", "Controller", FormMethod.Post, new { @enctype = "multipart/form-data" }))
{
Html.HiddenFor(x => x.ID); // This one
<label>Name: </label>@Html.EditorFor(x => x.Name);
<button>Submit</button>
}
如果您知道什么可能是问题,那么解决方案很简单,但是如果您不知道,您将无法解决,因为它不会丢失错误。
解决方案是在@
之前添加Html.HiddenFor(x => x.ID);
。
@model MyModel
@using (Html.BeginForm("Action", "Controller", FormMethod.Post, new { @enctype = "multipart/form-data" }))
{
@Html.HiddenFor(x => x.ID); // Changed this one
<label>Name: </label>@Html.EditorFor(x => x.Name);
<button>Submit</button>
}
希望这可以帮助某人节省一些时间和痛苦。