2014-12-05 41 views
0

我想重写这段代码使用的解决方案呈现在这里:Html.TextBoxFor formatting or Html.EditorFor htmlAttributes?使用EditorFor与templateFormat和验证

<div class="input"> 
    @Html.TextBoxFor(x => x.Name) 
    @MyFunc() 
    @Html.ValidationMessageFor(x => x.Name) 
</div> 
<br /> 

但是,因为调用此模板格式没有参数,如何传递λ表达式x => x.Name@Html.ValidationMessageFor

我调用页面上此参数,我需要把它发送到EditorFor模板页面:

调用页面

@Html.EditorFor(m => m.Name) 

经典的例子EditorFor模板页面

@model System.DateTime? 
@Html.TextBox("", Model.HasValue ? Model.Value.ToString("dd/MM/yyyy") : string.Empty, new { @class = "date-picker" }) 

Edi的真实例子torFor为这种情况?

<div class="input"> 
    @Html.TextBoxFor(????????) 
    @MyFunc() 
    @Html.ValidationMessageFor(??????) 
</div> 
<br /> 
+0

你正在使用哪个版本的mvc? – faby 2014-12-05 11:03:55

+0

第四个版本 – Revious 2014-12-05 11:05:28

+1

你的意思是你想要使用'@ Html.EditorFor(m => m.DateModified)'并且有一个'EditorTemplate'包含'@ Html.ValidationMessageFor()'?在这种情况下,'@ Html.ValidationMessageFor(m => m)'或'@ Html.ValidationMessage(“”)' – 2014-12-05 11:25:21

回答

1

您可以使用@Html.ValidationMessage("")@Html.ValidationMessageFor(m => m)。例如

<div class="input"> 
    @Html.Label("") 
    @Html.TextBox("") 
    @Html.ValidationMessage("") 
</div>