2010-01-27 56 views
0

我無法將驗證消息添加到自定義editortemplate,這是我正在使用的行(我嘗試發佈整個模板代碼,但沒有運氣)ValidationMessage在自定義asp.net mvc 2中沒有顯示editortemplate

<%= Html.ValidationMessage(ViewData.ModelMetadata.PropertyName) %> 

如果我把模型屬性的validationmessage放在模板之外,它可以正常工作,所以我知道modelerror存在。

任何想法?

+0

你有這個工作嗎?我有同樣的問題! – Robert 2010-09-07 20:31:09

回答

0

我有一個答案給你:)

你需要你的前綴屬性與模型的屬性的名稱的關鍵。

例如,如果你的模型是這樣的:

public class MyModel 
{ 
    public ChildModel Child { get; set; } 
} 

而且你要添加的錯誤消息,孩子的模板可以看到,你需要如下前綴的錯誤消息的關鍵:

ModelState.AddModelError("Child.SomeKey", "Error message"); 

在ChildModel的模板圖,顯示錯誤是這樣的:

<%= Html.ValidationMessage("SomeKey")%> 
0

我使用強類型的html助手。

<div class="editor-label"><%= Html.LabelFor(model => model); %></div> 
<div class="editor-field"><%= Html.TextBoxFor(model => model); %></div> 
<div class="editor-error"><%= Html.ValidationMessageFor(model => model); %></div> 

你可以做同樣的事情,而不使用模型的ViewPage/Control屬性的強類型的輔助方法。

相關問題