MVC3 WebGrid:可以在行/列上使用htmlAttributes吗?

时间:2011-12-15 11:54:54

标签: asp.net-mvc-3 razor webgrid

我正在使用WebGrid在MVC3中创建分页/可排序列表。我已经创建了一个支持AJAX的删除按钮,它通过AJAX进行删除调用,之后我希望它从表中删除该行。

我希望实现此目的的方法是在表格中id上设置data-id<tr>属性,以便我可以使用jQuery轻松操作它。但是,在使用WebGrid时,我无法确定如何向行添加属性。

我知道属性可以很容易地设置在网格级别,如下所示:
@grid.GetHtml(htmlAttributes: new { id = "gridMapping", style = "width:100%;" },

但是我不知道如何在行/列级别实现相同的目标。

2 个答案:

答案 0 :(得分:1)

@grid.GetHtml(
    columns: grid.Columns(
        grid.Column(format: (item) => Html.CheckBox("SelectedInvoice",new { value=item.transactionId})),
   //// rest of your columns here
     )
 )

因此,一种方法是使用可以处理htmlAttributes的HTML帮助程序方法。 其他方式 - 使用格式组合:和Html.Raw 最后,但可能是最简单的:javascript(jQuery)

所以你可以尝试类似的东西:

 $('#grid tr').each(function(){
     $(this).attr('yourhtmlattribute','value');
 });

和TD类似的方式。

答案 1 :(得分:0)

以下是我如何实现这个目标

在您的网络广告设置中,将其添加到其中一个列中。

grid.Column("UserName", "User Name", format: @<text><span data-id='@item.Id'>@item.UserName</span></text>, canSort: true),

否则,当呈现HTML网格时,您将获得此信息。

<tr jQuery45435434="3"> <span data-userid="1">Fred Smith</span></tr>
<tr jQuery45435434="4"> <span data-userid="2">Sally Smith</span></tr>
<tr jQuery45435434="5"> <span data-userid="3">Joe Smith</span></tr>