我在修改用VB.NET编写的现有网站时遇到了很多麻烦。
有人可以向我解释一下VB.NET-chrome关系的基础知识吗?
我遇到的具体问题是通过网站发送邮件,添加相关代码没有问题,我觉得在开始寻找bug之前我需要了解更多。
在网站上可以选择向人员列表发送电子邮件。此选项适用于IE,但在Firefox和Chrome中不起作用。我基本上有一个表单标签,其中包含一个表,其中包含每个名称旁边都有一个复选按钮的人员列表。当你点击发送时,有一个像这样定义的功能
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim sTo As String, sFrom As String, sSubject As String, sBody As String
Dim sCc As String, sBcc As String
Dim MyMail As MailMessage = New MailMessage
sFrom = "Laboratory Mail system sent from " & Session.Contents("UserNameEng") & " <dbsystem@mscc.huji.ac.il>"
sTo = Trim(Request.Form("EmailTo")) & txtTo.Text
sCc = Trim(Request.Form("EmailCc")) & txtCc.Text
sSubject = Trim(txtSubject.Text)
sBody = Trim(txtBody.Text)
sBody = sBody.Replace(vbCrLf, "<br />") 'new
MyMail.Headers.Add("Reply-To", Session.Contents("UserEmail"))
MyMail.From = sFrom
MyMail.To = sTo
MyMail.Subject = sSubject
MyMail.BodyFormat = MailFormat.Html 'new
'MyMail.Body = sBody
Select Case optDirection.SelectedValue.ToString
Case "BodyRtl"
MyMail.Body = "<style> body {direction: rtl} </style>" & sBody
Case "BodyLtr"
MyMail.Body = "<style> body {direction: ltr} </style>" & sBody
End Select
' MyMail.Body = "<style> body {direction: rtl} </style>" & sBody 'new
' MyMail.BodyEncoding = System.Text.Encoding.GetEncoding("iso-8859-8-i")
MyMail.Cc = sCc
If chkCopyForMe.Checked Then
MyMail.Bcc = Session.Contents("UserEmail")
End If
'MyMail.BodyFormat = MailFormat.Text
Select Case optPriority.SelectedValue.ToString
Case "Normal"
MyMail.Priority = MailPriority.Normal
Case "High"
MyMail.Priority = MailPriority.High
Case "Low"
MyMail.Priority = MailPriority.Low
End Select
If Trim(UploadFile.Value) <> vbNullString Then
Dim myAttachment As New MailAttachment(GetAttachment(Trim(UploadFile.Value))) '(Trim(UploadFile.Value))
MyMail.Attachments.Add(myAttachment)
End If
SmtpMail.SmtpServer = "pluto.mscc.huji.ac.il"
Try
SmtpMail.Send(MyMail)
Response.Redirect("SentMessage.aspx?m=1")
Catch ex As Exception
lblComment.Text = "Problem With Sending Mail<br />" & ex.Message
'Response.Redirect("SentMessage.aspx?m=2")
End Try
End Sub
假设将邮件发送到选定的框。在IE中邮件到达,在Chrome中它没有。
答案 0 :(得分:0)
VB.NET是一种服务器端技术 - 它将HTML输出到浏览器。
浏览器与此HTML交互并可能向服务器发送响应(单击链接,发布表单等) - VB.NET代码可以解释这些并使用HTML进行响应。
这与无论的浏览器(Chrome,IE,Firefox,Opera或其他任何浏览器)的工作方式相同。
答案 1 :(得分:0)
此代码与您的问题无关。浏览器永远不会看到它,只看到服务器。
你在.aspx文件中的某个地方犯了一个错误:IE正确地猜测你真正想要的是什么,Chrome不是。
Firefox会发生什么?