当脚本到达我的ASPX页面中的Response.Write
块(而不是后面的代码或类中)时,我正在尝试catch
弹出一条Javascript错误消息。
以下是代码:
catch (Exception ex)
{
Response.Write("<script language=javascript>alert('ERROR');</script>");
//System.Windows.Forms.MessageBox.Show(ex.ToString());
}
我得到的错误信息是:
} expected
不知道为什么它告诉我需要}
。一切都已经关闭,当我删除/注释掉那条线并放入其他东西时,我没有明显地发现任何错误,这不像我错过了某个地方的}
......
为什么会这样?
答案 0 :(得分:2)
问题是您可能已将此声明包含在
中<script type="text/c#">
</script>
所以
</script>
下面的语句中的被视为结束C#脚本块
Response.Write("<script language=javascript>alert('ERROR');</script>");
我看到两个选项 - 将此逻辑移至代码隐藏或将脚本转义为
Response.Write("<script language=javascript>alert('ERROR');" + "<" + "/" + "script>");
答案 1 :(得分:0)
如果我是你,我会使用RegisterScriptBlock。请阅读文字和示例。我当然相信你需要的是
答案 2 :(得分:0)
我认为你在语言属性附近缺少单引号, 试试这个:
Response.Write("<script language='javascript'>alert('ERROR');</script>");