Ich verwende Datenannotationen in einer MVC2-App und bin etwas entmutigt, wenn ich versuche, RESX-Dateiressourcen für Fehlermeldungen zu verwenden.
Ich habe Folgendes versucht, bekomme aber immer noch die Ausnahme: "Ein Attributargument muss ein konstanter Ausdruck, ein Ausdruckstyp oder ein Arrayerstellungsausdruck eines Attributparametertyps sein"
%Vor% Ich bekomme diese Fehlermeldung immer, wenn ich ErrorMessageResourceName
nicht durch Resources.ErrorMessages.Required
, sondern durch "Required" ersetzt habe.
Kann mir jemand sagen, ob ich das richtig mache?
Ja, was Sie am Ende machen, ist grundsätzlich richtig. Das ErrorMessageResourceName
nimmt, was der Name impliziert, den Namen einer Ressource, nicht die Ressource selbst.
Resources.ErrorMessages.Required
zeigt auf die tatsächliche (lokalisierte) Fehlermeldung (Ressource). Der Name der Ressource ist einfach "Erforderlich" und der Typ des Ressourcenmanagers (verwendet für ErrorMessageResourceType
) ist in diesem Fall die Klasse, die diese Ressource enthält die Klasse Resources.ErrorMessages
.
Also sollte Ihre Deklaration so aussehen:
%Vor%Tags und Links asp.net-mvc resx globalization data-annotations