Ecco quello che ho fatto:
private void ChangeValidationClassNames()
{
var helper = new HtmlHelper(new ViewContext(), new ViewPage());
SetPublicStaticReadonly("ValidationInputCssClassName", helper, "errInput");
SetPublicStaticReadonly("ValidationMessageCssClassName", helper, "errMsg");
}
public void SetPublicStaticReadonly(string readonlyPropName, object instance, object value)
{
var field = instance.GetType().GetField(readonlyPropName, BindingFlags.Static | BindingFlags.Public);
if (field == null)
throw new NullReferenceException(string.Format("public static readonly field '{0}' not found in '{1}'", readonlyPropName, instance));
field.SetValue(instance, value);
}
@TweetZz: non lo fai bisogno di un'istanza HtmlHelper per ch ange campi statici. puoi ottenere il campo solo da 'typeof (HtmlHelper)', e chiamare 'SetValue (null, value)'. –
Dove state mettendo questo codice? – Shimmy
In un ActionFilterAttribute .. – TweeZz