2010-01-19 67 views
1

我在aspx中有4个页面。页面A,B,C,D。如果我从pageA转到页面B,然后单击页面B上的提交后,它应该转到PageC并在同一时间在新窗口中打开页面D.但如果我直接去PageBand点击提交,那么它应该只能转到PageC并且不能在新窗口中打开PageD。 我在查询字符串中使用/?dest=pageD.aspx,但它不会工作。我该如何实现这个目标?.net通过查询字符串打开新窗口

回答

1

为什么使用查询字符串?在提交按钮上使用PostBackUrl。您可以根据您选择的面包屑(ViewState/Session/Whatever)动态设置它,然后您仍然可以通过Page.PreviousPage。*访问控件。您甚至可以使用注入的JavaScript方法导致当前页面回发,但在后台onclick中打开一个窗口。

你甚至可以在查询字符串我想面包屑。

if(Request.QueryString["PageVisit"] == "A") { 
    this.btnSubmit.PostBackUrl = "c.aspx"; 
    this.btnSubmit.Attributes.Add("onclick","javascriptOpenWindowFunc();"); 
} 
0

它很容易。

从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(); 

} 

拉吉