我有三页,...说Page1,Page2,Page3。
用户点击Page1中的链接并重定向到Page2填写表格和摘要,重定向到第3页(Thankyou.aspx)
我想在Page3中放置一个OK按钮,该按钮应该重定向到Page1。
我不能硬编码它bcoz它应该是动态的
注意:Page1可以是任何其他页面,第2页可以是任何其他形式,但在Page3中我想跟踪进程完成的第一页。
我知道如下:
HttpContext.Current.Request.UrlReferrer
但它会为您提供上一页但不是第一页。
可以实现。
提前致谢
答案 0 :(得分:1)
最简单的方法是将page1网址存储在用户的会话缓存
中Session["page1"] = HttpContext.Current.Request.UrlReferrer
然后当你到达page3时,你可以访问它。确保在使用它之后,将其从会话缓存中删除,以确保您永远不会获得任何旧网址。
答案 1 :(得分:1)
如果您愿意,也可以使用javascript执行此操作。您可以将它直接挂在Ok按钮上,如下所示:
btnOk.Attributes.Add("onClick", "javascript:history.go(-2); return false;");
或者您可以使用ClientScriptManager
(来自MSDN)在您的网页上注册:
// Define the name and type of the client scripts on the page.
String csname = "GoBackScript";
Type cstype = this.GetType();
// Get a ClientScriptManager reference from the Page class.
ClientScriptManager cs = Page.ClientScript;
// Check to see if the startup script is already registered.
if (!cs.IsStartupScriptRegistered(cstype, csname))
{
String scriptText= "<script type=\"text/javascript\">" +
"window.history.go(-2);</" + "script>";
cs.RegisterStartupScript(cstype , csname, scriptText);
}