как добавить контент в html.label в javascript asp.net mvc - PullRequest
0 голосов
/ 25 июля 2011

У меня есть метка <% = Html.Label ("");%> я хочу добавить контент к метке во время выполнения, к сожалению, для создания свойства id для него не требуется никаких других параметров.я не могу создать для него свойство id, похожее на asp: label

спасибо,

michaeld

Ответы [ 2 ]

2 голосов
/ 25 июля 2011

Нет необходимости использовать функции HtmlHelper всегда и везде, если они не соответствуют вашим потребностям.Они просто должны сделать вашу жизнь проще, а не сложнее.Используйте хороший оле HTML здесь:

<label id="id_for_label"></label>
0 голосов
/ 14 августа 2011

Если вы хотите продолжать использовать функции HtmlHelper, вы всегда можете создать свои собственные методы расширения.

Например:

public static class LabelHelper
{
    private static string HtmlAttributes(object htmlAttributes)
    {
        var builder = new StringBuilder();
        foreach (PropertyDescriptor descriptor in 
            TypeDescriptor.GetProperties(htmlAttributes))
        {
            builder.AppendFormat(" {0}=\"{1}\" ", descriptor.Name, 
                descriptor.GetValue(htmlAttributes));
        }
        return builder.ToString();
    }

    public static MvcHtmlString MyLabel(this HtmlHelper htmlHelper, 
        string labelText, object htmlAttributes)
    {
        var attributes = HtmlAttributes(htmlAttributes);
        return MvcHtmlString.Create(
            String.Format("<label for=\"{0}\" {1}>{0}</label", 
            labelText, attributes.Trim()));
    }
}

Затем вы можете добавить метку к представлению в следующемобразом:

<%: Html.MyLabel("Hello, World!", new { @id = "myLabel" })%>

Сгенерированный HTML:

<label for="Hello, World!" id="myLabel">Hello, World!</label>

Для MVC 3 такая вспомогательная функция уже доступна:

http://msdn.microsoft.com/en-us/library/gg538318(v=VS.99).aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...