Как изменить свойства стиля HTML.Label? - PullRequest
1 голос
/ 27 марта 2009

Я использую MVC в asp.net.

Я хочу изменить размер шрифта и цвет элемента управления html.label.

так, как я могу сделать из этого вспомогательный класс?

Ответы [ 2 ]

3 голосов
/ 27 марта 2009

Вот мой код для такого расширения. Обратите внимание, что ParameterDictionary является моим собственным классом. Я думаю, что расширения MVC вместо этого используют RouteValueDictionary, но мне кажется неправильным полагаться на это, поэтому я создал свой собственный класс для этой конкретной цели. Вам нужно будет импортировать пространство имен, содержащее ваш класс HtmlExtensions, в представление, где вы хотите использовать эти расширения (и добавить ссылку на проект, содержащий класс, если его нет в вашем веб-проекте).

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" ) %>
1 голос
/ 27 марта 2009

Не могли бы вы просто сделать это в разметке (стиль / CSS):

<label for="Name" ***here***>Name:</label>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...