如何以编程方式决定在母版页加载时加载哪个内容页面

时间:2011-09-14 11:56:38

标签: asp.net master-pages contentplaceholder

我有一个母版页和两个内容页面,它们具有相同的ContentPlaceHolderID。有没有办法指定应该从母版页的Page_Load事件加载哪个内容页面?

如果我看到以下值:

Request.CurrentExecutionFilePath;

我看到了第一个内容页面的路径。

根据下面指定的条件,我想将其更改为第二个内容页面的路径。

我正在寻找一种方法来加载特定页面,具体取决于我对主Page_Load的检查。

如果我尝试从那里重定向到该页面,我会陷入无限循环,因为母版页会在内容页面之前再次加载并重新进行检查并反复重定向。

// in master page 
protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        if (Request.Cookies["user"] != null)
        {
            HttpCookie cookie = Request.Cookies["user"];
            string name = cookie.Value;
            Response.Redirect("~/hello_page.aspx?UserName=" + name);
        }
    }
}

提前致谢。

1 个答案:

答案 0 :(得分:2)

您可以检查您在重定向中包含的查询字符串的页面加载。如果查询字符串在那里,那么您将已经重定向,因此您可以跳过cookie-check-and-redirect块。