使用响应的问题.编写传递打开新浏览器窗口的javascript

本文关键字:浏览器 窗口 javascript 响应 问题 | 更新日期: 2023-09-27 18:03:27

我有以下代码来响应RadToolBar上的单击命令。开关部分工作正常。我遇到的问题是回应。写一块,旨在打开label.aspx?Id =foo在一个新的浏览器窗口。标签。aspx页面是一个生成和提供pdf的简单页面。我认为我写的代码大部分是正确的。然而,我一定错过了一些关键的部分,因为当我运行应用程序并点击工具栏按钮时,什么也没有发生。由于开关片工作正常,标签也工作正常。aspx页面,问题一定在这一行这里Response.Write("<script type='text/javascript'>window.open('Label.aspx?ID=" + RadGrid1.SelectedValues["PackageID"].ToString() + "','_blank');</script>");有什么想法吗?

    protected void RadToolBar1_ButtonClick(object sender, RadToolBarEventArgs e)
{
    switch (e.Item.Text)
    {
        case "Print Label":
            Response.Write("<script type='text/javascript'>window.open('Label.aspx?ID=" + RadGrid1.SelectedValues["PackageID"].ToString() + "','_blank');</script>");
            break;
        case "Request Return":
            //do something
            break;
        case "Remove":
            //do something;
            break;
    }

关于SO还有其他几个类似的问题。我看过他们所有的人,他们似乎推荐了我上面所采用的相同方法。但是,我的代码仍然不能工作。

使用响应的问题.编写传递打开新浏览器窗口的javascript

必须转义字符串中的某些字符(单引号、双引号)。请试试这个:

Response.Write("<script type='"text/javascript'">")
Response.Write("window.open(''Label.aspx?ID=" + RadGrid1.SelectedValues["PackageID"].ToString() + "'',''_blank'')");
Response.Write("</script>");