ASP.Net 从 CodeBehind 在浏览器中打开新选项卡

Posted

技术标签:

【中文标题】ASP.Net 从 CodeBehind 在浏览器中打开新选项卡【英文标题】:ASP.Net Open New Tab in Browser from CodeBehind 【发布时间】:2011-07-28 16:00:05 【问题描述】:

我需要从后面的 asp.net 代码提供给我的链接打开浏览器选项卡。 通常我会有一个链接和target="_blank",但我需要的链接是动态的,所以我必须有来自代码后面的_blank 链接的行为。

有什么想法吗?

【问题讨论】:

【参考方案1】:

您正在寻找Target property。

【讨论】:

不,你误会了我……我没有链接。我有一个普通的 ASP:Button,在 CodeBehind 中有很多 ToDos(数据库查询等)。完成后,我必须在新标签中打开一个链接。 然后你需要向window.open发出一个javascript调用【参考方案2】:

如果您在生成初始 html 时拥有创建链接所需的数据,则可以在 Page_Load 事件中执行以下操作:

protected void Page_Load(object sender, EventArgs e)

    Button1.OnClientClick="javascript:window.open('MyPage.aspx?Param=" + Param1.ToString() + "');";         

如果您正在等待 PostBack 获取构建链接所需的数据,您可以通过 ScriptManager 将 javascript 发送到浏览器:

protected void Button1_Click(object sender, EventArgs e)

    //process whatever you need to to get Param1
    ScriptManager.RegisterStartupScript(Page, typeof(Page), "OpenWindow", "window.open('MyPage.aspx?Param=" + Param1.ToString() + "');",true);

【讨论】:

嗨,詹姆斯,如果我想在新标签中打开它怎么办?请帮忙 拯救了我的一天。谢谢!

以上是关于ASP.Net 从 CodeBehind 在浏览器中打开新选项卡的主要内容,如果未能解决你的问题,请参考以下文章

在 ASP.NET 的 CodeBehind 中添加和删除“is-invalid”类

ASP.NET CodeBehind 无法识别 TinyMCE 文本区域更改

C# (ASP.Net) 将选择值链接到 Codebehind 中的常量

javascript 无法从 asp.net 更改简单的标签文本

In an ASP.NET website with a codebehind at what point are the .cs files compiled?

Asp.net Page指令