Как программно решить, какую страницу контента загрузить, при загрузке главной страницы

У меня есть главная страница и две страницы содержимого с одинаковым 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 ответ

Решение

Вы можете проверить загрузку страницы для строки запроса, которую вы включаете в редирект. Если есть строка запроса, то вы уже перенаправлены, так что вы можете пропустить блок cookie-check-and-redirect.

Другие вопросы по тегам