に取り組んでいないバインディング私は、英語以外の構成(スペイン語)で実行ASPNETコアアプリを持っている:英語でASPNETコア進が非英語文化
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
......
app.UseRequestLocalization(new RequestLocalizationOptions
{
DefaultRequestCulture = new RequestCulture(new CultureInfo("es-AR"))
,SupportedCultures = new List<CultureInfo>
{
new CultureInfo("es-AR")
}
,SupportedUICultures = new List<CultureInfo>
{
new CultureInfo("es")
}
});
.........
}
進数は、ドットで区切られたその小数部を持っていますしかし、スペイン語にカンマが使用されます。
- 10256.35英語
- 10256,35スペイン語
Iはコントローラでこの作用を有する:
[HttpPost]
public decimal Test(decimal val)
{
return val;
}
私は郵便配達を使用して、そのアクションには、この{ヴァル:15.30}のようなJSONを送信する場合、アクションにvalが0(ための動作していない結合recivesを文化)。私がこのようなjsonを送信すると{val:15,30}、次に私が受け取るアクションで15.30 問題は私がカンマで小数点を受け入れるアクションが必要なことです。アプリのフォーム。しかし、私はまたjson形式の要求から来るドットで10進数を受け入れる必要があります。コンマを受け入れるjsonの小数点/浮動小数点数を指定する方法はありません(文字列はオプションではないので送信します)。これどうやってするの???私は私の自己をこれで狂った運転しています。
ありがとうございます!
あなたは 'contentType'を読み込むカスタムModelBinderを作成し、コンテンツの種類 –
に応じた値を解析する必要がありますMVC5私はカスタムモデルのバインダーを使用し、それは私の問題を解決しました.MVCコアの場合、類似の解決策が見つかるかもしれません。[ASP.Net Core 1.0(RTM)のカスタムモデルバインディング](http://intellitect.com/custom-model-binding -in-asp-net-core-1-0 /) – Ziyad