是否有一个HTML帮助器生成类似标签但在MVC4中具有ID属性的东西?

时间:2013-12-04 01:29:40

标签: asp.net-mvc-4

我需要生成一些html,我稍后可以从Jquery访问以便稍后注入一个值。在初始渲染时,它不应显示任何内容。我正在使用MVC4。

也许像

是否有HTML助手?或者我需要创建自己的?如果是这样,我该怎么做呢?

由于

1 个答案:

答案 0 :(得分:1)

你只需要传递HtmlAttributes作为开箱即用的MVC4助手的参数。

@Html.Label("", new { id = "yourID"})

但是,也许你只需要一个<span id="yourID"></span>

如果你假装多次使用它,你只需要一个帮手。

如果要创建辅助扩展名:

public static MvcHtmlString CustomLabel(this HtmlHelper helper, string labelId, string content = "")
{
    var span= new TagBuilder("span");
        span.Attributes.Add("id", labelId);
        span.SetInnerText(content)

        return MvcHtmlString.Create(span.ToString());
}

您可以添加其他参数来设置CSS类或类似的东西。

然后,在您的视图中,您可以像这样使用它:

@Html.CustomLabel("yourID", "Initial Text")

编辑:对于强类型的Html助手,请看:

http://www.codeproject.com/Tips/389747/Custom-Strongly-typed-HtmlHelpers-in-ASP-NET-MVC

在任何情况下,在你的情况下,只会以这种方式创建一个:@Html.CustomLabel(m=>m.YourID, "Initial Value")这样,如果你在模型中有初始值,你可以Model.InitValue而不是像我之前那样对其进行编码