ASP.NET MVC Razor引擎上的模型绑定失败

时间:2011-01-11 07:19:41

标签: asp.net-mvc asp.net-mvc-3 razor

模型绑定对我不起作用 - 我总是得到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>

1 个答案:

答案 0 :(得分:0)

您需要指定前缀:

public ActionResult SearchForUser(
    [Bind(Prefix="searchForUserModel")]SearchForUserModel m
)