【问题标题】:multiple Html.Attr on one tag in razor?剃刀中的一个标签上有多个Html.Attr?
【发布时间】:2012-03-07 10:22:44
【问题描述】:

如何在剃刀视图中在一个标签上使用多个 Html.Attr,如下所示?这不起作用。

<tr @Html.Attr("style", "color: #FF3D0D;")
 @Html.Atrr("data-item", Model.ItemNumber)>

【问题讨论】:

  • 您是否有理由需要 Html.Attr 帮助器而不是仅仅使用:&lt;tr style="color: #FF3D0D" data-item="@Model.ItemNumber"&gt;
  • 不,只是想使用提供的助手,可以吗?
  • 它似乎是一个自定义的,但它似乎不喜欢 data- 标签,所以我做了以下操作:@Html.Attr("style", "color: #FF3D0D ;") data-item="@Model.ItemNumber"
  • 哇。使用更冗长的语法来使用没有任何额外好处的助手,这超出了我的范围。
  • it doesn't seem to like the data- tag 是什么意思?你有错误吗?意外行为?这个助手是哪里来的?它是如何实施的?这个助手的目的是什么?我看不出它有什么价值。

标签: asp.net-mvc razor views


【解决方案1】:

我也不熟悉 .Attr 帮助器,但如果您直接从视图中复制代码,则有一个错字,您有 @Html.Atrr 我猜应该是 @Html.Attr数据项

【讨论】:

    【解决方案2】:

    所以,事情到了这个地步……

    @Html.Atrr("data-item", Model.ItemNumber)
    

    -VS-

    data-item="@Model.ItemNumber"
    

    只有一个字:不要。您的标记和地球上的每一个人都将受益于后来更直接的语法。 HtmlHelper Html.Atrr 根本没有帮助,没有价值。

    另外,以下对我有用:

    <body @Html.Raw("data-test1=\"1\"") @Html.Raw("date-test2=\"2\"")>
    

    .. 并渲染:

    <body data-test1="1" date-test2="2">
    

    【讨论】:

      【解决方案3】:

      您可能应该使用 @Html.Attr 而不是 @Html.Atrr... 或者,正如其他人所指出的,只是显式编写属性。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-05
        • 2020-05-30
        • 1970-01-01
        • 1970-01-01
        • 2011-08-07
        • 1970-01-01
        相关资源
        最近更新 更多