首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我的这个vb.net代码有什么问题?

我的这个vb.net代码有什么问题?
EN

Stack Overflow用户
提问于 2010-12-17 08:07:45
回答 2查看 121关注 0票数 0

代码语言:javascript
复制
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

发生以下错误:未将对象引用设置为对象的实例.

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-17 09:09:14

您已经在Page事件中获得了这段代码,因此它将在页面首次加载时运行,并在每次回发时运行。这可能不是你想要的。

我想,在第一次加载时,您的GridView中没有选定的行,所以GridView1.SelectedRow将是null。如果这不是null,那么CellsCells(2)肯定是空的。尝试访问null上的属性将引发NullReferenceException -“对象引用未设置为对象的实例”。

如此MSDN示例所示,您最好在SelectedRow事件处理程序中访问GridView事件的SelectedIndexChanged属性。

票数 2
EN

Stack Overflow用户

发布于 2010-12-17 08:12:42

代码语言:javascript
复制
Dim lab As Label = Me.GridView1.FindControl("Label1")

你好像没在用这个标签做任何事。在那条线上放一个断点,看看它是否找到它。如果它没有而且你甚至不使用它,就把线拿出来。

此外,检查textbox2在调试时是否有效。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4468691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档