0

我正在尝试生成这样的表

@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 的点击事件,并根据被点击的 tr 的 data-orderid 属性值显示一些信息。

在 Visual Studio 中,我收到一条验证消息,说“data_orderid 不是 tr 的有效属性”,并且当它呈现 HTML tr 没有属性时,不是事件类。

我应该如何添加这样的属性?

4

2 回答 2

3

HTML 5 data 属性的格式是这样的

data-AttributeName=AttributeValue

例子 :

data-name="John Resig"

更改underscore为 a hiphen,它将正确呈现。

 <tr class="row" data-orderid="@item.Id">
于 2012-07-23T13:54:23.750 回答
0

首先,您更有可能使用“data-xxx”(而不是“data_xxx”)属性。

其次,Visual Studio 不太可能(如果不是不可能的话)省略类和您的“data_orderid”属性。

确保 for 循环从您的条件 @Model.Where(o => o.Status == "Submitted" 中获取任何元素

此外,请注意,Razor 足够聪明,可以解释传递给元素的“html 属性”,如下所示:

@Html.TextBoxFor(m => m.Name, new { @data_orderid = item.id, @class="input-xxlarge" }))
于 2012-07-23T13:58:42.933 回答