我正在使用编辑模板,视图中的语法如下所示:
Html.EditorFor(m => m.Email)
字符串编辑器模板如下所示:
@{
var o = ViewData.ModelMetadata;
}
@model string
@Html.TextBox(o.PropertyName,
this.Model,
new { @class="textinput-single-line", placeholder = o.Watermark })
问题是,在回发时,无论我在TextBox中输入什么内容,model.Email都为null。为什么文本框值没有正确绑定到模型?
编辑:这是HTML输出
<fieldset>
<legend>Log in Form</legend>
<ol>
<li>
<div class="editor-for">
<label class="label-single-line" for="Email_Email">Email</label>
<input class="textinput-single-line" id="Email_Email" name="Email.Email" placeholder="" type="text" value=""/>
<div class="clearboth"/>
</div>
</li>
<li>
<div class="editor-for">
<span class="label-single-line"/>
<input class="tickbox-single-line" id="RememberMe_RememberMe" name="RememberMe.RememberMe" type="checkbox" value="true"/>
<input name="RememberMe.RememberMe" type="hidden" value="false"/>
<label class="label-tickbox" for="RememberMe_RememberMe">Remember me?</label>
<div class="clearboth"/>
</div>
</li>
</ol>
<input type="submit" value="Log in"/>
</fieldset>
答案 0 :(得分:1)
在编辑器模板中使用String.Empty
或""
。视图引擎会为您找出正确的名称。
@Html.TextBox(String.Empty,
this.Model,
new { @class="textinput-single-line", placeholder = o.Watermark })