【发布时间】:2015-10-26 07:28:04
【问题描述】:
对于gridview,rowdatabound事件,我写了如下代码:
Private Sub gv_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gv.RowDataBound
If (e.Row.RowType = DataControlRowType.DataRow) Then
e.Row.Cells(0).Text = "<a href='javascript:fnDelete(" & e.Row.RowIndex & ");' style='text-decoration:none;'><img src='Images/DEL.gif' height='10' width='10' border='0'></img></a>"
现在在 JavaScript 中使用 fnDelete 函数如下:
function fnDelete(rowindex)
{
....
var gridViewctl = document.getElementById('<%= gv.ClientID %>');
gridViewctl.deleteRow(rowindex+1);
}
问题:第一次,它删除正确的行,之后每次,它删除一些不同的行,而不是删除点击的行。看起来,原因是因为 rowindex 是之前绑定的,而 row 被删除了所以,它的变化。
请您指导如何解决此问题。
【问题讨论】:
-
为什么你从
RowDataBound调用 Javascript 方法?它会在页面呈现之前自动迭代每一行。 -
是的。它会迭代。
标签: javascript asp.net vb.net gridview