1

TextBox ではなく CheckBox の値「1」または「0」を持つ文字列を返すカスタム ヘルパーを実装する必要があります。したがって、カスタムヘルパーには次のものがあります。

    public static MvcHtmlString MyCustomHelper<TModel, TProperty>(this HtmlHelper<TModel> helper, Expression<Func<TModel, TProperty>> expression)
    {
      ....
      Expression<Func<TModel, bool>> boolExpression = ??????????

      return helper.CheckBoxFor(boolExpression); 
    }

「boolExpression」変数には何を割り当てる必要がありますか?

4

1 に答える 1

1

ViewModel または部分的なモデルのマップされていないプロパティが適しています。

CheckBoxFor存在しないプロパティでは使用できません。

「0」または「1」の文字列プロパティを想像してください。

public string MyProperty{get;set;}


private bool myBooleanProperty_;
[NotMapped]
public bool MyBooleanProperty {
 get {
   myBooleanProperty_ = MyProperty == "1";
   return myBooleanProperty_;
}
set {
   myBooleanProperty_ = value;
}

次に、使用できます

@Html.CheckBoxFor(x => x.MyBooleanProperty)

フォームに値を投稿するときは、値にMyProperty応じて値を に設定する必要がありますMyBooleanProperty

于 2013-05-29T12:57:44.107 に答える