【问题标题】:Problem setting an html attribute containing hyphens in ASP.NET MVC在 ASP.NET MVC 中设置包含连字符的 html 属性时出现问题
【发布时间】:2011-07-05 14:29:44
【问题描述】:

我已经定义了一个自定义的 html 属性“data-something-something”。在我看来,我使用 Html 扩展方法来创建例如一个文本框。其中一个参数是匿名object HtmlAttributes。我想传递这个值:new { data-something-something = "value" }。但是,data-something-something 不被 .NET 识别为属性名称,因为有连字符。

我现在将其更改为dataSomethingSomething,但我想根据 HTML 5 标准定义我的自定义属性(即在其前面加上“data-”)。

在尝试对类属性执行new { class = "class-name"} 之前,我遇到了类似的问题。对于这种情况,我发现我可以在 class 前面加上一个“@”符号来使其工作(即new { @class = "class-name"})。因为这种情况有解决方案,所以我希望可能有解决我当前问题的方法(用'@'前缀不起作用)。

提前致谢。

【问题讨论】:

    标签: c# .net asp.net-mvc asp.net-mvc-3


    【解决方案1】:

    尝试使用应该由标准 HTML 助手自动转换为破折号的下划线:

    new { data_something_something = "value" }
    

    【讨论】:

    • Neato!我希望有这样的东西。
    • @Matthijs Wessels,您使用的是自定义 HTML 助手吗?如果是,请显示您的帮助代码和用法。这绝对适用于内置助手。试试看:@Html.TextBoxFor(x => x.Foo, new { data_something_something = "value" }).
    • 我只使用内置助手。已经试过了,效果很好:)
    猜你喜欢
    • 1970-01-01
    • 2010-12-13
    • 2016-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多