2009-10-08 13 views

Odpowiedz

9

Dostałem.

2 w ASP.NET MVC RC, Jest PropertyValueInvalid, nie InvalidPropertyValue.

+1

Dziękuję, działa świetnie !!!! –

11

nie wiem o v2, ale to działa na V1:

  1. Dodaj plik zasobów w App_GlobalResources.
  2. W pliku zasobów można zdefiniować ciągi o nazwach PropertyValueInvalid i PropertyValueRequired.
  3. W zestawie zdarzeń Application_Start global.asax System.Web.Mvc.DefaultModelBinder.ResourceClassKey = "resource file name".
+0

dziękuję za odpowiedź, ale z jakiegoś powodu to nie działa. Możliwe, że jest inny sposób na zrobienie tego na mvc 2. –

+2

Możesz dowiedzieć się, używając Reflektora. –

2

Spróbuj użyć: <% = Html.ValidationMessage ("Cena")%> bez gwiazdki "*".

+1

Uważam to za najlepsze podejście. (+1). Wiadomości użytkownika należą do widoków, a nie do kontrolera. Jeśli w przyszłości chcesz utworzyć tę samą stronę w innym języku, zachowasz te same kontrolery i zmienisz TYLKO widoki. –

1

Cynthia, spróbuj dodać to do swojego 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 zwraca httpContext.GetGlobalResourceObject(ResourceClassKey, "InvalidPropertyValue", CultureInfo.CurrentUICulture) znaleźć wiadomość, a czasami trzeba dodać tych dostawców do GetGlobalResourceObject znaleźć odpowiedni zasób