使用Code Behind动态生成的Html打开Popup

时间:2013-01-11 09:55:05

标签: c# javascript asp.net popup code-behind

在某个时刻,我有一个动态生成的字符串,在我的代码隐藏中使用了html 我想打开一个以html为源的弹出窗口。

我尝试过以下方法:
我在.aspx网站(Javascript)上创建了此方法:

    function OpenWindowWithHtml(html, title) {
            var myWindow = window.open('', title);
            myWindow.document.write(html);
            myWindow.focus();
     }  

在代码隐藏中我有这个:

    Response.Write("OpenPopupWithHtml(\"" + html + "\", \"" + title + "\");");  

但是当我尝试执行此操作时,我收到错误 有谁看到,我在这里做错了什么? 或者有人知道更好的方法吗?

1 个答案:

答案 0 :(得分:1)

修改

按钮上的

点击它就像这样

protected void btnAbct_Click(object sender, EventArgs e) {
   ClientScript.RegisterClientScriptBlock(this.GetType(), "Alert", "OpenPopupWithHtml('" + html + "', '" + title + "');");
}

执行代码即。你用javascript编写的函数

 ClientScript.RegisterStartupScript(this.GetType(),
   "newWindow", "OpenPopupWithHtml('" + html + "', '" + title + "');");

您可以像这样注册客户端脚本

if (!ClientScript.IsClientScriptBlockRegistered("exampleScript"))
    ClientScript.RegisterStartupScript(this.GetType(), "exampleScript","
<script language = "'javascript'">
alert('you just registered the start up script')
</script>
");

来自asp.net的代码隐藏文件

要打开弹出窗口,只需在上面的代码中替换此行

 ClientScript.RegisterStartupScript(this.GetType(),
   "newWindow", String.Format("<script>window.open('{0}');</script>",
         "mypage.html"));

检查详情:Register Client script in ASP.NET