GridView1.SelectedRow什么也没有返回

时间:2010-09-13 11:18:17

标签: vb.net gridview postback

我的问题是,在下面的代码中,SelectedRow属性不返回任何内容。我在运行时手动将项绑定到GridView,并且autogeneratecolumns和autogenerateselectbutton属性为true。

我认为问题在于单击“选择”命令时有一个PostBack。

非常感谢。

Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridView1.RowCommand
        Session("ContactID") = GridView1.SelectedRow.Cells(0).Text()
        Response.Redirect("~/ContactAddress.aspx")
End Sub

3 个答案:

答案 0 :(得分:0)

所选行位于GridViewCommandEventArgs参数中。

答案 1 :(得分:0)

您想要的行可通过e(GridViewCommandEventArgs参数)访问,特别是具有行索引的e.CommandArgument的值:

来自here

  

确定行的索引   举起活动,使用   事件的CommandArgument属性   传递给事件的参数。   ButtonField类自动完成   填充CommandArgument属性   具有适当的索引值。对于   其他命令按钮,你必须   手动设置CommandArgument   命令按钮的属性。对于   例如,您可以设置   CommandArgument为<%#   Container.DataItemIndex%>当。。。的时候   GridView控件没有分页   启用。

答案 2 :(得分:0)

除了添加CommandArgument之外,您还需要将代码更改为以下内容。

Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridView1.RowCommand
Dim rowNumber As Integer = e.CommandArgument
Dim ContactId As Integer = GridView1.Rows(rowNumber).Cells(0).Text
    Session("ContactID") = ContactId
    Response.Redirect("~/ContactAddress.aspx")
End Sub