我實現由布拉德威爾遜描述的template.master技術在this posting但我改變線31他EditorTemplates的/ Template.master從:MVC2 ValidationMessage在template.master不渲染
<%= Html.ValidationMessage("", "*") %>
到:
<%= Html.ValidationMessage(ViewData.ModelMetadata.PropertyName)%>
以便實際驗證文本將顯示在控件旁邊。 這沒有任何變化。如果我將同一行移動到object.ascx文件中,它會呈現,但不在佈局的正確位置。元數據生命週期中的某些內容在此時尚未填充?
UPDATE
我有這個在我的object.ascx和它的作品。
<%= Html.Editor(prop.PropertyName)%>
<p>
<%=Html.ValidationMessage(prop.PropertyName)%>
</p>
UPDATE2
這個工程模板:
<%= Html.ValidationMessage("")%>
相信模板的範圍是在控制層面,而不是視圖模型的水平,所以「」有它只是使用整個控件模型,而不是從視圖模型中搜索屬性。
@ Html.ValidationMessage(prop.PropertyName)爲我工作。正如你在你的問題中提到的。 :) – Doomsknight 2011-12-16 12:30:29