
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim lab As Label = Me.GridView1.FindControl("Label1")
If TextBox2.Text = "7" Then
GridView1.SelectedRow.Cells(2).Text = "500"
Else
GridView1.SelectedRow.Cells(2).Text = "950"
End If
End Sub发生以下错误:未将对象引用设置为对象的实例.
发布于 2010-12-17 09:09:14
您已经在Page事件中获得了这段代码,因此它将在页面首次加载时运行,并在每次回发时运行。这可能不是你想要的。
我想,在第一次加载时,您的GridView中没有选定的行,所以GridView1.SelectedRow将是null。如果这不是null,那么Cells或Cells(2)肯定是空的。尝试访问null上的属性将引发NullReferenceException -“对象引用未设置为对象的实例”。
如此MSDN示例所示,您最好在SelectedRow事件处理程序中访问GridView事件的SelectedIndexChanged属性。
发布于 2010-12-17 08:12:42
Dim lab As Label = Me.GridView1.FindControl("Label1")你好像没在用这个标签做任何事。在那条线上放一个断点,看看它是否找到它。如果它没有而且你甚至不使用它,就把线拿出来。
此外,检查textbox2在调试时是否有效。
https://stackoverflow.com/questions/4468691
复制相似问题