2014-12-05 22 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>