我正在使用WebGrid在MVC3中创建分页/可排序列表。我已经创建了一个支持AJAX的删除按钮,它通过AJAX进行删除调用,之后我希望它从表中删除该行。
我希望实现此目的的方法是在表格中id
上设置data-id
或<tr>
属性,以便我可以使用jQuery轻松操作它。但是,在使用WebGrid时,我无法确定如何向行添加属性。
我知道属性可以很容易地设置在网格级别,如下所示:
@grid.GetHtml(htmlAttributes: new { id = "gridMapping", style = "width:100%;" },
但是我不知道如何在行/列级别实现相同的目标。
答案 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>