剃刀中的一个标签上有多个Html.Attr?

Posted

技术标签:

【中文标题】剃刀中的一个标签上有多个Html.Attr?【英文标题】:multiple Html.Attr on one tag in razor? 【发布时间】: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 是什么意思?你有错误吗?意外行为?这个助手是哪里来的?它是如何实施的?这个助手的目的是什么?我看不出它有什么价值。 【参考方案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... 或者,正如其他人所指出的,只是显式编写属性。

【讨论】:

以上是关于剃刀中的一个标签上有多个Html.Attr?的主要内容,如果未能解决你的问题,请参考以下文章

如何让一个单元格在ios中保存多个文本标签

无法在剃刀视图中使用扩展方法

如何使标签文本中的链接可用于语音(可访问性)? (iOS,Xamarin)

剃刀视图 MVC 中的多个模型

a标签中的title属性中的文字出现乱码

UITextField 内的标签