Asp.net mvc 2 验证消息未显示在自定义asp.net mvc 2 editortemplate中

Asp.net mvc 2 验证消息未显示在自定义asp.net mvc 2 editortemplate中,asp.net-mvc-2,Asp.net Mvc 2,我在将validationmessage添加到自定义editortemplate时遇到问题,这是我正在使用的行(我尝试发布整个模板代码,但没有成功) 如果我将模型属性的validationmessage放在模板之外,它就可以正常工作,因此我知道存在modelerror 有什么想法吗?我有个答案给你:) 您需要在属性的键前面加上模型中属性的名称 例如,如果您的模型如下所示: public class MyModel { public ChildModel Child { get; se

我在将validationmessage添加到自定义editortemplate时遇到问题,这是我正在使用的行(我尝试发布整个模板代码,但没有成功)


如果我将模型属性的validationmessage放在模板之外,它就可以正常工作,因此我知道存在modelerror

有什么想法吗?

我有个答案给你:)

您需要在属性的键前面加上模型中属性的名称

例如,如果您的模型如下所示:

public class MyModel
{
    public ChildModel Child { get; set; }
}
<%= Html.ValidationMessage("SomeKey")%>
如果要添加子模板可以看到的错误消息,则需要在错误消息的键前加前缀,如下所示:

ModelState.AddModelError("Child.SomeKey", "Error message");
在ChildModel的模板视图中,如下所示显示错误:

public class MyModel
{
    public ChildModel Child { get; set; }
}
<%= Html.ValidationMessage("SomeKey")%>

我使用强类型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>
model);%%>
型号);%%>
型号);%%>

通过使用Model ViewPage/Control属性,您可以在没有强类型帮助程序的情况下执行相同的操作。

这是否正常?我也有同样的问题!