【问题标题】:.net open new window through querystring.net 通过查询字符串打开新窗口
【发布时间】:2010-01-19 01:23:17
【问题描述】:
我在 aspx 中有 4 页。页面 A、B、C、D。如果我从页面 A 转到页面 B,那么在单击页面 B 上的提交后,它应该转到页面 C 并同时在新窗口中打开页面 D。但如果我直接转到 PageBand 单击提交,那么它应该只转到 PageC 而不是在新窗口中打开 PageD。
我在查询字符串中使用 /?dest=pageD.aspx 但它不起作用。我怎样才能做到这一点?
【问题讨论】:
标签:
.net
popup
query-string
asp.net
【解决方案1】:
为什么使用查询字符串?在提交按钮上使用 PostBackUrl。您可以根据您选择的面包屑(ViewState/Session/Whatever)动态设置它,然后您仍然可以通过 Page.PreviousPage.* 访问控件。您甚至可以使用注入的 javascript 方法使当前页面回发,但在点击时在后台打开一个窗口。
我猜你甚至可以在查询字符串中包含面包屑。
if(Request.QueryString["PageVisit"] == "A") {
this.btnSubmit.PostBackUrl = "c.aspx";
this.btnSubmit.Attributes.Add("onclick","javascriptOpenWindowFunc();");
}
【解决方案2】:
很简单。
从PageB提交后,你应该有以下javascript。
function SubmitContent()
{
document.forms[0].action = "PageC.aspx";
// then we need to open i new window of pageD.aspx;
window.open("PageD.aspx");
//now submitting our page.
document.forms[0].submit();
}
拉吉