这个gridview行命令中的错误是什么?

时间:2011-01-15 14:52:54

标签: asp.net vb.net

Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridView1.RowCommand
        For Each myRow As GridViewRow In GridView1.Rows
            'Find the checkbox
            Dim lab5 As Label = DirectCast(myRow.FindControl("Label5"), Label)
            If e.CommandName = "feedback" Then
                Me.Response.Redirect("~/view_feedback.aspx?" & "serv_code=" & lab5.Text.ToString)
            End If
        Next
    End Sub

错误

即使我选择第一行gridview或者我选择gridview的最后一行,它只能重新开始第一行标签5写入view_feedback.aspx ...

任何人都可以修改此代码,以便..it将根据gridview1中选择的行传输label5值

2 个答案:

答案 0 :(得分:0)

你不应该循环,你应该得到选定的行,找到label5然后重定向到页面。

答案 1 :(得分:0)

您应该向导致回发的控件添加CommandArgument并具有CommandName“反馈”。理想情况下,此CommandArgument是您的serv_code。

可以通过RowCommand处理程序中的GridViewCommandEventArgs参数访问此CommandArgument。

例如:

<asp:Button CommandName="feedback"  CommandArgument='<%# Eval("serv_code") %>' id="btnFeedBack" runat="server" />