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

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

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.90035 の関連記事表示

<< 0 >>
■90035  Re[1]: TextBoxForでHttppost時の通貨書式→数値変換
□投稿者/ WebSurfer -(2019/01/31(Thu) 18:05:12)
    No90016 (ジョディー さん) に返信

    Controller のコードが不明、Model と View のコードの整合がとれてないなど不明な点が
    ありますが、分かる範囲で回答しておきます。

    > Model定義通りに"\"や","を除いたDecimalで返したいのですが、
    > それらの文字を除くコードを追加しないといけないのでしょうか?

    それは自分が知る限り無理なので(少なくとも、現実的ではないので)、

    (1) DisplayFor 等を使った表示の場合のみ書式設定を行い、

    (2) 編集操作に入ってテキストボックスに値を表示する場合は書式設定しない(または、"{0:F0}"
      などの書式設定に留め、数字として不正な文字は表示されないようにする)。

    ・・・としてはいかがですか? ASP.NET Web Forms アプリで使う GridView などではそれがデフ
    ォルトの動きです。

    どうしてもテキストボックスに表示する文字列も \12,345,678 のようにしたいということであれば、
    decimal 型ではなく string 型として扱い、検証はデータアノテーション属性を付与して正規表現
    で行なうということも考えられますが、DB のフィールドの型が money 型でしょうから、サーバー
    側での取り扱いを考えると現実的ではなさそうです。

    ユーザーとしても、編集する際にいちいち \ とか , を入力するのは煩わしいはずで、喜んではくれ
    ないのでは?
記事No.90016 のレス /過去ログ155より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -