这是我的观点,我在
中发现错误 @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>
答案 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的文本框。