【发布时间】:2013-04-16 22:22:31
【问题描述】:
任何人都可以看看我下面的代码并推荐我如何停止接收可怕的错误 91。错误:对象变量或未设置块变量。 我正在使用 mailto: 函数使用本机电子邮件客户端发送电子邮件并从 gridview 填充带有数据的电子邮件。弹出错误后,我只需单击确定,电子邮件就会加载我想要的确切数据!
Protected Sub GridView2_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridView2.SelectedIndexChanged, GridView1.SelectedIndexChanged
Dim MailFormat, Number, BodyOfEmail, FullName As String
Dim RowValue As Double
RowValue = GridView1.SelectedDataKey.Value - 1
Number = GridView1.Rows(RowValue).Cells(5).Text.ToString
FullName = GridView1.Rows(RowValue).Cells(25).Text.ToString
BodyOfEmail = “SomeTextInTheBody”
MailFormat = "mailto:" & Number & "?" & "subject= A subject here" & "&body=" & BodyOfEmail
System.Diagnostics.Process.Start(MailFormat)
End Sub
我可以从 .aspx 页面执行以下代码就好了:
a href="mailto:someone@example.com?Subject=Hello%20again"
outlook 打开没有问题。似乎只有在执行顶部的 aspx.vb 代码时才会出现问题...
谢谢
【问题讨论】:
-
错误发生在哪一行?
-
执行 System.Diagnostics.Process.Start(MailFormat) 并在 Outlook 内部发生错误。弹出框是标题 SCOutlook。
-
用样本值测试过,唯一奇怪的是在 FullName 之后用那个多余的逗号声明变量,删除然后它可以工作
-
我已经更正了那个错字。然而,这不是我所指的错误。
-
奇怪的是,如果我从 .aspx 页面调用: 而不是从aspx.vb 页面,Outlook 可以正常打开,没有错误。
标签: asp.net vb.net visual-studio-2012 mailto visual-web-developer