0

这是我的观点,我发现了一个错误

@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>  
4

3 回答 3

2

我认为你需要把它写成

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

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

您可以在 Watch 窗口中看到您感兴趣的是模型,而不是模型。

于 2013-09-10T20:12:09.760 回答
0

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

于 2013-09-10T16:50:07.133 回答
0

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

于 2013-09-11T07:44:04.653 回答