0
MVC3の内部にHTMLコンテンツを含む強く型付けされたラベルを作成するにはどうすればよいですか?HTMLコンテンツのラベル
<label for="nnn"><input type="checkbox" id="nnn" />Herp</label>
私はW3Cのバリデータのコードをチェックして、有効であると思われるが、それを行う方法はありますか?
ありがとうございました。
MVC3の内部にHTMLコンテンツを含む強く型付けされたラベルを作成するにはどうすればよいですか?HTMLコンテンツのラベル
<label for="nnn"><input type="checkbox" id="nnn" />Herp</label>
私はW3Cのバリデータのコードをチェックして、有効であると思われるが、それを行う方法はありますか?
ありがとうございました。
TagBuilder
でカスタムHTMLヘルパーを使用できます。
このようなもの(未テスト)。
public static MvcHtmlString LabelCheckBoxFor<TModel>(
this HtmlHelper<TModel> htmlHelper,
Expression<Func<TModel,bool>> expression,
string text)
{
var labelTag = new TagBuilder("label");
labelTag.MergeAttribute("for", "nnn");
labelTag.InnerHtml = htmlHelper.CheckBoxFor(expression) + text;
return labelTag.ToString(TagRenderMode.SelfClosing);
}
考えられるのは100%ではないかもしれません。私はどのようにモデルの "のための"値を引き出すか分からない。 FromLambdaExpression
、または別のパラメータが必要な場合があります。
そして、このようにそれを使用します。私が見る
@Html.LabelCheckBoxFor(model => model.SomeField, "Herp")
、それはかなりクールです。検証の問題がある場所で値を設定できるように、「値」属性を設定するにはどうすればよいですか?ありがとう。 – vtortola
素晴らしいですが、私は最後の行をMvcHtmlString.Create()に変更しましたが、あなたのアイデアは素晴らしいです!感謝万円。 – vtortola