私はasp.netでMVCを使用しています。HTML.Labelのスタイルプロパティを変更するにはどうすればよいですか?
html.labelコントロールのフォントサイズを&に変更したいと思います。
どうすればこのヘルパークラスを作成できますか?
私はasp.netでMVCを使用しています。HTML.Labelのスタイルプロパティを変更するにはどうすればよいですか?
html.labelコントロールのフォントサイズを&に変更したいと思います。
どうすればこのヘルパークラスを作成できますか?
このような拡張機能のコードは次のとおりです。 ParameterDictionaryは自分のクラスであることに注意してください。 MVC拡張ではRouteValueDictionaryを代わりに使うと思いますが、それに頼るのは間違っているようですので、私はこの特定の目的のために独自のクラスを作成しました。 HtmlExtensionsクラスを含む名前空間を、これらの拡張機能を使用するビューにインポートする必要があります(Webプロジェクトにない場合は、そのクラスを含むプロジェクトへの参照を追加する必要があります)。
public static class HtmlExtensions
{
public static string Label(this HtmlHelper helper,
string labelFor,
string value,
object htmlAttributes)
{
TagBuilder labelBuilder = new TagBuilder("label");
if (!string.IsNullOrEmpty(labelFor))
{
labelBuilder.Attributes.Add("for", labelFor);
}
labelBuilder.MergeAttributes(new ParameterDictionary(htmlAttributes));
labelBuilder.SetInnerText(value);
return labelBuilder.ToString(TagRenderMode.Normal);
}
}
使用法:
<%= Html.Label("Name", new { @class = "input-label" }) %>
<%= Html.TextBox("Name") %>
あなただけはしないだろうというマークアップ(スタイル/ CSS)内:
<label for="Name" ***here***>Name:</label>
確かに - 実際、私は通常やります。ただし、ヘルパー拡張は、ラベルの構築を一貫性とテスト可能にするために有効です。たとえば、あるクラスを適用したい場合は、拡張を変更して追加することができます。 – tvanfosson
こんにちは私はParameterDictionary =>見つからない参照 – Vikas
上のエラーを取得していますはい。 ParameterDictionaryは私自身のクラスです。フレームワークからRouteValueDictionaryに置き換えることができます。 – tvanfosson