Asp.net Global.asax中的错误

Asp.net Global.asax中的错误,asp.net,Asp.net,这是Global.asax中代码的一部分。我在下面标记的行中收到一个运行时错误(无效代码)。不知道为什么 If Not Request.RawUrl.IndexOf("crm/default.aspx") > 0 Then Dim sb As New System.Text.StringBuilder sb.Append("<DIV ID=""splashScreen"" STYLE=""WIDTH: 100%; HEIGHT: 1

这是Global.asax中代码的一部分。我在下面标记的行中收到一个运行时错误(无效代码)。不知道为什么

  If Not Request.RawUrl.IndexOf("crm/default.aspx") > 0 Then
            Dim sb As New System.Text.StringBuilder
            sb.Append("<DIV ID=""splashScreen"" STYLE=""WIDTH: 100%; HEIGHT: 100%; POSITION: absolute; Z-INDEX: 9999"">")
            sb.Append("<TABLE class=""page_border"" width=""100%"" height=""100%"" cellSpacing=""0"" cellPadding=""0"">")
            sb.Append("<TR>")
            sb.Append("<TD WIDTH=""100%"" HEIGHT=""100%"" ALIGN=""CENTER"" VALIGN=""MIDDLE"" class=""page_content"">")
            sb.Append("&nbsp;&nbsp;")
            sb.Append("Loading page.  Please wait ...")
            sb.Append("&nbsp;&nbsp;<br><br>")
            sb.Append("<IMG SRC=""/TOrders/library/media/images/wait.gif"" BORDER=1 WIDTH=75 HEIGHT=15>")
            sb.Append("</TD>")
            sb.Append("</TR>")
            sb.Append("</TABLE>")
            sb.Append("</DIV>")

      -- Getting a Run time Error on this line --------

            sb.Append("<script language=""javascript"">var k=document.getElementById(""splashScreen"");</script>")

      ---Even this line appears with squiggly line in the editor--

            sb.Append("<%Response.Flush%>")

         -----------------------------------------------------

            Response.Write(sb.ToString)

        End If
如果不是Request.RawUrl.IndexOf(“crm/default.aspx”)>0则
将sb设置为新System.Text.StringBuilder
某人加上(“”)
某人加上(“”)
某人加上(“”)
某人加上(“”)
某人加上(“”)
sb.追加(“正在加载页面,请稍候…”)
某人追加(“

”) 某人加上(“”) 某人加上(“”) 某人加上(“”) 某人加上(“”) 某人加上(“”) --获取此行的运行时错误-------- sb.Append(“var k=document.getElementById(““splashScreen”);”) ---即使这一行在编辑器中也会显示为曲线-- 某人加上(“”) ----------------------------------------------------- (某人)写回信 如果结束
@CM Kanode是正确的-我以前从未见过这种行为,但不知何故,脚本标记正在扼杀它-可能是一种安全功能。即使您在字符串中,字符串的
部分也会以某种方式杀死它。把它分开解决了这个问题。这里的另一种选择是为全局应用程序使用codebehind文件,而不是将代码保留在.asax文件中—这样您就处于纯VB环境中,而不是ASP.NET标记中

@Igor也是正确的-您在
行中的代码块无效-即使您在VB.NET字符串中,从技术上讲您仍然在标记文件中,
使它看起来像是一个代码块-在ASAX文件中不能有这样的代码块

正如@Igor所指出的,无论如何,将其写入响应是没有意义的,因为这是一个服务器特性,而不是使其成为实际响应的东西

因此,您需要处理这两个问题,例如:

sb.Append("<script language='javascript'>var k=document.getElementById('splashScreen');</sc" & "ript>")
Response.Write(sb.ToString)
Response.Flush
sb.Append(“var k=document.getElementById('splashScreen');”)
(某人)写回信
回答,齐平

如果您对这一行进行注释会发生什么?
sb.Append(“”
)-您正在将服务器端脚本写入html响应中-没有任何意义。不知道下面的操作是否有效,但多年前我在classic asp中遇到了类似的问题。将“脚本”一分为二。例如。在打开和关闭时都这样做。错误消息是什么?