MVC帮助器中的模型始终为null

时间:2013-09-10 16:35:56

标签: c# asp.net-mvc asp.net-mvc-4

这是我的观点,我在

中发现错误

@Html.EditorFor(model => model.FacebookId) 模型为空

但是在var @Model中,我的viewModel包含所有值

我的观点:

@model Registration.Front.Web.Models.RegistrationViewModel
    @using Registration.Domain.Entities.Enum;
    @using Registration.Front.Web.Helpers;
    @{
        Layout = "~/Views/Shared/_Layout.cshtml";

    }
    <h2>Registration</h2>

    @using (Html.BeginForm())
    {
        @Html.AntiForgeryToken()
        @Html.ValidationSummary(true)


        <fieldset>
            @{string visibleFb = (!Model.FBParam) ? "display:none" : "display:inline";
                <div id="fb" style="@visibleFb">
                    <div class="editor-label">
                        FacebookId
                    </div>
                    <div class="editor-field">
                        @Html.EditorFor(model => model.FacebookId)
                    </div>
                </div>  

3 个答案:

答案 0 :(得分:2)

我认为你需要把它写成

@Html.EditorFor(model => Model.FaceBookId) //<--Note the uppercase "M"

所以模型只是一个lamda变量,而Model指向声明为@model的任何东西

你可以在Watch窗口看到你在这里感兴趣的Model,而不是模型。

答案 1 :(得分:0)

检入您的Action方法。您是否从Action返回填充模型?

答案 2 :(得分:0)

你是否注意到你没有得到Model.FBParam和Model.Facebookid的错误? 这意味着您的FacebookId属性可以为空,并从操作中发送为null。还可以使用您的数据类型的特定类型的控件,例如带参考的int下拉或用于字符串jetc的文本框。