问题
I need to replace the model state resource (to another language).
I've seen some answers to the question above, but unfortunately I could'nt make it work. Any detailed answer or example would be appriciated.
Thank you.
回答1:
Got It.
In ASP.NET MVC 2 RC, It is PropertyValueInvalid, not InvalidPropertyValue.
回答2:
I don't know about v2, but this works on v1:
- Add a resource file in App_GlobalResources.
- In the resource file you can define strings named
PropertyValueInvalid
andPropertyValueRequired
. - On the Application_Start global.asax event set
System.Web.Mvc.DefaultModelBinder.ResourceClassKey = "resource file name"
.
回答3:
Try using: <%= Html.ValidationMessage("Price") %> without the star "*".
回答4:
Cynthia, try to add this into your web.config
<compilation debug="true" targetFramework="4.0">
<buildProviders>
<add extension=".resx" type="System.Web.Compilation.ResXBuildProvider"/>
<add extension=".resources" type="System.Web.Compilation.ResourcesBuildProvider"/>
</buildProviders>
</compilation>
MVC calls httpContext.GetGlobalResourceObject(ResourceClassKey, "InvalidPropertyValue", CultureInfo.CurrentUICulture)
to find the message, and sometimes you must add those providers to GetGlobalResourceObject find the correct resource
来源:https://stackoverflow.com/questions/1538873/how-to-replace-the-default-modelstate-error-message-in-asp-net-mvc-2