2011-12-15 24 views
3

我正在使用WebGrid在MVC3中創建分頁/可排序列表。我創建了一個啓用AJAX的刪除按鈕,通過AJAX進行刪除調用,之後我希望它從表格中刪除該行。MVC3 WebGrid:可以在行/列上使用htmlAttributes嗎?

我想實現這個目標的方法是在表格中的<tr>上使用id或屬性,以便我可以使用jQuery輕鬆操作它。然而,我不能解決如何在使用WebGrid時向行添加屬性。

我知道屬性可以輕鬆地設置在電網層面,像這樣:
@grid.GetHtml(htmlAttributes: new { id = "gridMapping", style = "width:100%;" },

但是我不知道如何來達到同樣的行/列的水平。

+0

有沒有想過這件事很好? – Maslow 2012-04-27 16:38:01

回答

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

所以一種方法是將HTML幫助器方法放在可以處理您的htmlAttributes的位置。 其他方式 - 使用格式的組合:和Html.Raw 而最後的,但可能是最簡單的:使用Javascript(jQuery的)

所以你可以嘗試這樣的:

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

和類似的方式對於TD。

0

這是我如何實現這個

在你的WebGrid設置此添加到柱的側向承載力之一。

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>