Response.Write Javascript警报时出错

时间:2013-11-01 12:22:00

标签: c# javascript

当脚本到达我的ASPX页面中的Response.Write块(而不是后面的代码或类中)时,我正在尝试catch弹出一条Javascript错误消息。

以下是代码:

catch (Exception ex)
{
    Response.Write("<script language=javascript>alert('ERROR');</script>");

    //System.Windows.Forms.MessageBox.Show(ex.ToString());
}

我得到的错误信息是:

} expected

不知道为什么它告诉我需要}。一切都已经关闭,当我删除/注释掉那条线并放入其他东西时,我没有明显地发现任何错误,这不像我错过了某个地方的} ......

为什么会这样?

3 个答案:

答案 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>");