【问题标题】:VB script and chromeVB 脚本和 chrome
【发布时间】:2012-02-14 06:56:15
【问题描述】:

我在修改一个用 VB.NET 编写的现有网站时遇到了很多麻烦。

有人可以向我解释一下 VB.NET-chrome 关系的基础知识吗?

我遇到的具体问题是通过网站发送邮件,我添加相关代码没有问题,我只是觉得在开始寻找错误之前我需要了解更多。

在网站中,有一个选项可以向人员列表发送电子邮件。此选项在 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 中它没有。

【问题讨论】:

  • 如何使用VBScript?客户端?服务器端? Windows 脚本 shell 脚本?
  • 为了消除混淆:asp-classic 使用了 vbscript 语言。 asp.net 不使用 vbscript。它使用 vb.net。此外,Internet Explorer 在浏览器中支持 vbscript 的变体,您可以使用它来代替 javascript,但其他浏览器不支持。
  • 您发布的代码只是一个事件处理程序。当您调试时,这是否会在两个浏览器中受到影响?你有任何例外吗?错误?
  • 我认为它不会在 chrome 和 firefox 中受到影响。没有异常,没有错误。

标签: vb.net


【解决方案1】:

VB.NET 是一种服务器端技术 - 它将 HTML 输出到浏览器。

浏览器与此 HTML 交互并可能向服务器发送响应(单击链接、发布表单等) - VB.NET 代码可以解释这些并以 HTML 响应。

无论使用何种浏览器(Chrome、IE、Firefox、Opera 或其他任何浏览器),无论,它的工作方式都是相同的。

【讨论】:

  • 在网站上有一个选项可以向人员列表发送电子邮件。此选项在 IE 中有效,但在 firefox 和 chrome 中无效。我基本上有一个表单标签,其中包含一个包含人员列表的表格,每个名字旁边都有一个复选按钮。当您单击发送时,定义如下的函数 \n Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) 处理 Button1.Click \n 假设将邮件发送到选定的框。在 IE 中邮件到达,在 chrome 中没有。
  • @ZoharMeridor - 不要在 cmets 中发布代码。编辑您的问题并向其添加代码。
【解决方案2】:

这段代码与你的问题无关。浏览器永远看不到它,只有服务器。

您在 您的 .aspx 文件中某处犯了一个错误:IE 正确地猜测了您真正想要的内容,而 Chrome 没有。

Firefox 会发生什么?

【讨论】:

  • fire fox 也不行。。我再看看代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多