[英]asp.net Load Child page only from parent page
我有两个页面MainPage.aspx和ChildPage.aspx。 当我单击按钮时,从主页重定向到ChildPage。 如果我直接在浏览器上提供ChildPage的地址,则我不想直接加载它,而是想重定向到MainPage。 仅当从MainPage加载ChildPage时才必须加载。 我如何找到ChildPage.aspx的加载位置。 如何找到其父页面或从其加载位置。
我们可以在下面的代码中尝试一些吗
if (!IsPostBack)
{
if (finding_source)
{
Response.Redirect("MainPage.aspx");
}
}
即使您的问题不清楚,我还是在这里给出解决方案。
MAINPAGE.ASPX按钮请点击
protected void lnkRegister_Click(object sender, EventArgs e)
{
Session["MainPage"] = "true";//Encrypt it if u wish
Response.Redirect("childpage.aspx");
}
CHILDPAGE.ASPX页面加载
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (!string.IsNullOrEmpty(Session["MainPage"] as string) && Session["MainPage"].Tostring()=="true")
{
//proceed
}
else
{
Response.Redirect("mainpage.aspx");
}
}
GLOBAL.ASAX
void Application_End(object sender, EventArgs e)
{
// Code that runs on application shutdown
Session.RemoveAll();
Session.Clear();
Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1));
Response.Cache.SetValidUntilExpires(false);
Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
}
控制浏览器关闭或关闭几乎没有困难...但是当应用程序关闭时,您可以解决全局asax文件的问题。
您可以使用Request.UrlReferrer.AbsolutePath
查看上一页。
if (!IsPostBack)
{
if (Request.UrlReferrer != null && Request.UrlReferrer.AbsolutePath == "/MainPage")
{
//do what you want
}else{
Response.Redirect("~/MainPage.aspx");
}
}
提示但是在回发中使用它时要小心,因为它将在回发期间将Request.UrlReferrer的值更改为当前页面。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.