【问题标题】:On Button click, page should open in new tab -asp.net单击按钮时,页面应在新选项卡-asp.net 中打开
【发布时间】:2014-10-21 11:58:08
【问题描述】:

我有弹出窗口,点击哪个新弹出窗口打开,然后当用户填写数据时,它会重定向到也在弹出窗口中打开的页面。我希望该页面在新标签页中打开,并且弹出窗口应该关闭。

请帮助如何使用背后的 asp.net 代码实现这一点 查看我的代码以了解我的尝试,

protected void btnSend_Click(object sender, EventArgs e)
{
      ScriptManager.RegisterStartupScript(this, this.GetType(), "window.open('dummy.aspx')", "\", \"\");", true);  // tried with both, but not working
       Response.Redirect("dummy.aspx");
}

无法使用 onClientClick,因为我在按钮单击时还有其他几个验证

【问题讨论】:

  • "I have popup, on click of which new popup opens and then when user fills the data, it redirects to page which also opens in a popup" - 哇哦。
  • “请帮助如何实现这一点” - 我的建议是“不要” - 一个弹出窗口不好,多个弹出窗口是一场噩梦。
  • @David:实际上,我有两个一个接一个的弹出窗口。!
  • 我希望在第二个弹出窗口中有一个按钮。单击它,将打开一个页面。我希望该页面在新选项卡中打开,并且我单击提交按钮的表单也应该刷新。
  • 您可以像 JQuery 一样执行客户端脚本,而不是在服务器端进行脚本处理。

标签: c# asp.net


【解决方案1】:

您可以在 html 中添加链接:

<a id="dummy" href="dummy.aspx" style="display:none;" target="_blank"></a>

假设您有一个用于刷新表单的 javascript 函数:

function refresh() {
    //your code here
}

然后,假设您有一个在另一个选项卡中打开页面并刷新表单的功能:

function formHandler() {
    $("#dummy").click();
    refresh();
}

您需要致电formHandler 以在新选项卡中打开页面并刷新表单。此解决方案并不总是打开一个新选项卡,在某些浏览器中它会打开一个新窗口。

【讨论】:

  • 我已经在这里调用了弹出页面:- 以及在 refresh() 上写什么代码
  • 您需要在此处编写刷新表单的代码。不过,我对你的表格一无所知。
  • 请看我的 js fiddle:在按钮点击两个弹出窗口后,我希望页面 dummy.aspx 在新选项卡中打开。 jsfiddle.net/93Lembaj/1
  • 实际上,现在它在 Ff 中工作,但不在 chrome 中,请参阅我的代码:- ScriptManager.RegisterStartupScript(Page, Page.GetType(), "popup", String.Format("window. open('{0}','_tab ')", ResolveUrl("dummy.aspx")), true);
  • 我已经在我的回答中描述了这一点。以前我一直在研究是否可以在新标签中强制打开,我得出的结论是没有办法在新标签中强制打开。某些浏览器会打开一个新窗口,您对此无能为力。如果它足够好,那么你已经找到了解决方案。如果你想强迫他们打开一个标签,那么你的任务就没有解决方案。
【解决方案2】:

假设你的控制器 ID ="Button1" 那么 jquery 代码是这样的

$("#Button1").click(function (){
window.open("url");
});

此 jquery 代码将在客户端处理。所以你不会在服务器端逻辑中遇到任何你想要执行验证的问题。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-11
  • 2022-07-30
  • 1970-01-01
  • 2019-09-20
  • 2021-02-23
  • 1970-01-01
相关资源
最近更新 更多