C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■90016 / )  TextBoxForでHttppost時の通貨書式→数値変換
□投稿者/ ジョディー (1回)-(2019/01/31(Thu) 00:19:52)

分類:[ASP.NET (C#)] 

2019/02/01(Fri) 18:03:49 編集(投稿者)
2019/01/31(Thu) 23:09:55 編集(投稿者)

<pre><pre>はじめまして、ジョディーと申します。
半年前の未経験状態から、自宅でAsp.Net MVC Webアプリを独学中です。
何分初心者ですので、質問の言葉が不適切な場合もあろうかと思いますが、
ご不明点、不足な点がございましたら、ご指摘くださいませ。

■質問概要:

ブラウザに通貨型書式でGet表示された状態で、Httppostする際、
Decimal型ではないとバリデーションエラーになってしまいます。
Model定義通りに"\"や","を除いたDecimalで返したいのですが、
それらの文字を除くコードを追加しないといけないのでしょうか?
それとも書式設定の仕方が悪いのでしょうか?
具体的な内容を以下に示します。
ご指導のほど、よろしくお願い致します。

■開発環境:

Windows10
Visual Studio2017community version 15.9.4
(SQLServer: MSSQLLOCALDB)

Microsoft Edge(InternetExproler11でも同様の事象でした。)

Asp.Net MVC で開発

■事象詳細
VSからアプリを実行し、ブラウザが開きます。
そして、データベースに保存済の情報がGetされます。
Priceはdecimal型で保存されています。
ブラウザ表示は、Viewの書式設定「TextBoxForに"{0:c}"」で通貨表示できます。
他の情報も同様に表示できます。

ここで、他の変数(例:"ContractDate"を編集して、「保存」ボタンを押して、HttpPostしようとすると、
クライアントサイドバリデーションでエラーとなってしまいます。

もちろん、"\"や","がない、ベタな数値に直してやれば、保存できます。が、修正の必要がないPriceをイチイチ修正しなければなりません。

■ソースコード抜粋

レスに再掲しましたので、当該部から削除しました。

返信 編集キー/


管理者用

- Child Tree -