模型绑定对我不起作用 - 我总是得到NULL来到控制器!人们有什么想法吗?
罗布
这是我的行动签名:
public ActionResult SearchForUser(SearchForUserModel m)
这是我的Razor标头模型声明:
@model WebOne.Models.StatusIndexModel
StatusIndexModel是一个包含SearchForUserModel:
的复合模型public class SearchForUserModel
{
[Required(ErrorMessage = "Search information required")]
[DisplayName("Contact Search")]
public string Search { get; set; }
}
这是我的剃刀:
@using (Html.BeginForm("SearchForUser", "Status"))
{
<div>
<div class="editor-field">
@Html.TextBoxFor(m => m.searchForUserModel.Search)
<input type="submit" class="formbutton_small" value="Find" />
<br />
@Html.ValidationMessageFor(m => m.searchForUserModel.Search)
</div>
</div>
}
以下是生成的HTML:
<form action="/Status/SearchForUser" method="post">
<div>
<div class="editor-field">
<input data-val="true" data-val-required="Search information required" id="searchForUserModel_Search" name="searchForUserModel.Search" type="text" value="" />
<input type="submit" class="formbutton_small" value="Find" />
<br />
<span class="field-validation-valid" data-valmsg-for="searchForUserModel.Search" data-valmsg-replace="true"></span>
</div>
</div>
</form>
答案 0 :(得分:0)
您需要指定前缀:
public ActionResult SearchForUser(
[Bind(Prefix="searchForUserModel")]SearchForUserModel m
)