1

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

这是代码:

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

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

我得到的错误信息是:

} expected

不知道为什么它告诉我我需要一个}. 一切都已关闭,当我删除/注释掉该行并添加其他内容时,显然我没有收到任何错误,这不像我在}某处错过了关闭...

为什么会这样??

4

3 回答 3

2

问题是你可能有这个声明被包裹在

<script type="text/c#">
</script>

所以

</script>

下面的 in 语句被视为结束 C# 脚本块

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

我看到两个选项 - 将此逻辑移动到代码隐藏或将脚本转义为类似

Response.Write("<script language=javascript>alert('ERROR');" + "<" + "/" + "script>");
于 2013-11-01T12:32:38.753 回答
0

如果我是你,我会使用RegisterScriptBlock。请阅读正文和示例。我确信这就是你所需要的

于 2013-11-01T12:25:41.903 回答
0

我认为您在语言属性附近缺少单引号,试试这个:

Response.Write("<script language='javascript'>alert('ERROR');</script>");
于 2013-11-01T12:29:14.230 回答