2010-01-27 77 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属性的强类型的辅助方法。