我正在尝试生成一个像这样的表
@foreach (var item in @Model.Where(o => o.Status == "Submitted")){
<tr class="row" data_orderid="@item.Id">
<td class="description">
@item.Customer
</td>
<td class="description">
@item.OrderDescription
</td>
...etc...etc
这样我就可以处理每个tr的click事件,并根据被点击的tr的data-orderid属性值显示一些信息。
在Visual Studio中,我收到一条验证消息,说“data_orderid不是tr的有效属性”,当它呈现HTML tr没有属性时,Not class就是该类。
我应该如何添加这样的属性?
答案 0 :(得分:3)
HTML 5数据属性的格式是这样的
data-AttributeName=AttributeValue
示例:
data-name="John Resig"
将underscore
更改为hiphen
,它将正确呈现。
<tr class="row" data-orderid="@item.Id">
答案 1 :(得分:0)
首先,您更有可能使用“data-xxx”(而不是“data_xxx”)属性。
其次,视觉工作室不太可能(如果不是不可能的话)省略类和你的“data_orderid”属性。
确保for循环获取条件@ Model.Where中的任何元素(o =&gt; o.Status ==“已提交”
另外,作为一个注释,Razor足够聪明地解释传递给元素的'html属性',如下所示:
@Html.TextBoxFor(m => m.Name, new { @data_orderid = item.id, @class="input-xxlarge" }))