3

送信ボタンに応答するフォームがあります。

次のようなチェックボックスが1つあります。

  @Html.CheckBoxFor(m => m.CheckBoxValue)

はい、そうでない場合はいいえ、できればモデルの文字列としてチェックした場合、どうすれば取得できますか。

  public bool CheckBoxValue { get; set; } OR
  public string CheckBoxValue { get; set; }

助けてください。

ありがとう

アップデート

これが進むべき道でした。

   @Html.CheckBoxFor(m => m.CheckBoxValue)

   public bool CheckBoxValue { get; set; } 
4

1 に答える 1

3

価値のあるユーザーフレンドリーな表示を探しているだけですか?これは、モデルではなく、ビューで発生するはずです。このようなもの:

@Html.CheckBoxFor(m => m.CheckBoxValue)
<!-- some other markup, blah blah blah -->
@(Model.CheckBoxValue ? "Yes" : "No")

可能な限り、モデルにはデータの構造と論理機能のみを含める必要があります。使いやすさや、ユーザーが見たり操作したりするものはすべて、ビューに表示する必要があります。

編集:

コメントに基づいて、次のようなものをモデルに追加できます。

public string CheckBoxDisplayValue
{
    get
    {
        return CheckBoxValue ? "Yes" : "No";
    }
}

注:これは、ビューの代わりではなく、ビューにバインドされるプロパティに追加されます。モデルにはブール値が必要なので、そのブール値も必要です。これは、モデルに読み取り専用プロパティを追加して、ブール値のユーザーフレンドリーな表示を表示するだけです。boolCheckBoxValueCheckBoxValue

ただし、これはお勧めしません。ここでの質問で指定していない最終目標があるようです。おそらく、その最終目標を達成するためのより良い方法があります。

于 2013-01-31T16:34:17.007 に答える