【发布时间】:2021-11-15 23:42:39
【问题描述】:
是否可以在razor cshtml中动态命名数据属性?
例如: 我有一些 TempData 可能带有一个或多个键,例如:
TempData["Key1"] = "My first value";
TempData["Key2"] = "My second value";
在我的页面上是这样的:
@foreach (var key in TempData.Keys)
{
<div hidden data-message="@TempData[key]"></div>
}
输出是:
<div hidden data-message="My first value"></div>
<div hidden data-message="My second value"></div>
我想通过 jquery 访问这些值,并希望有一个唯一的数据名称,例如:
data-message-key1
data-message-key2
所以一个解决方案(我希望可能存在!)是这样的:
<div hidden data-message-@magicHappensHereHopefully />
任何想法或想法表示赞赏!谢谢:D
【问题讨论】:
-
data-message-@key.ToLower()="@TempData[key]"可以。也就是说,数据名称的好处是按行为对属性进行分组。如果您在运行时生成名称,客户端代码应该如何知道它需要访问的data属性的名称?因此,我建议您尝试做的不是一个好的解决方案,而替代方案会更好。
标签: c# html jquery asp.net-mvc razor