Asp.net Global.asax中的错误
这是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
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(" ")
sb.Append("Loading page. Please wait ...")
sb.Append(" <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中遇到了类似的问题。将“脚本”一分为二。例如。在打开和关闭时都这样做。错误消息是什么?