2014-06-19 58 views
-1

我的代码有问题。在调试模式下,根本没有错误或警告。但是当我按下按钮时,出现错误。这是我的代码:NullReferenceException未处理button_click [vb.net]

Private Sub Button11_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click 
    Button1.Enabled = True 
    Dim i As Integer 
    For i = 0 To 10 


     WebBrowser1.Document.GetElementById("login").SetAttribute("value", (TextBox1.Text)) 
     WebBrowser1.Document.GetElementById("saveBtn").InvokeMember("click") 

    Next i 
End Sub 
+0

可能重复[什么是NullReferenceException,我该如何解决它?](http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-doi-i-fix -it) – Plutonix

+0

如果找不到元素,WebBrowser1.Document.GetElementById(“login”)将返回“NOTHING”。在调用其他方法之前,您应该首先检查它以确保它没有任何问题。 – Steve

+0

RE:调试 - 检查您的调试,选项和设置...当异常跨域时取消选中我的代码和中断...查看更多调试错误。 – rheitzman

回答

0

你应该,因为史蒂夫在评论中说,使用某种类型的错误处理的,以你的代码...即尝试....捕捉方法,以确保一切都在有效WebBrowser。尝试这样的

Private Sub Button11_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click 
    Button1.Enabled = True 
    Dim i As Integer 
    For i = 0 To 10 
     Try 
      WebBrowser1.Document.GetElementById("login").SetAttribute("value", (TextBox1.Text)) 
      WebBrowser1.Document.GetElementById("saveBtn").InvokeMember("click") 
     Catch ex As Exception 
     End Try 
    Next i 
End Sub 

尝试...赶上块只是检测问题的方法。在你的情况下,让我们说只有几个循环内的命令返回NULL ...通过使用这种方法,你可以“忽略”这些问题,并转移到下一个“我”,而不会抛出一个exeption或处理错误的文本等

+0

谢谢!但我得到了另一个错误。 http://prntscr.com/3ul3fs – user3681781

+0

编辑我的答案 – ILoveMom

相关问题