さまざまな言語でウェブサイトを作成したいと考えています。ActionFilterを作成できることは既に読みましたが、ちょっとした問題があります。英語とドイツ語の数値形式 ( vs. )
を操作するには、カスタム ModelBinder を作成する必要がありました。123,456,789.1
123.456.789,1
public class DecimalModelBinder : DefaultModelBinder
{
public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
{
string key = bindingContext.ModelName;
var v = ((string[])bindingContext.ValueProvider.GetValue(key).RawValue)[0];
float outPut;
if (float.TryParse(v, NumberStyles.Number, System.Globalization.CultureInfo.CurrentCulture, out outPut))
return outPut;
return base.BindModel(controllerContext, bindingContext);
}
}
この ModelBinder は、現在のカルチャを使用して、使用する形式を決定します。しかし残念なことに、ModelBinder は ActionFilter がカルチャを変更する前に使用されます。
ModelBinder がアクティブになる前にカルチャを変更するにはどうすればよいですか?