Перенаправление на URL на основе пользовательских данных - PullRequest
2 голосов
/ 09 сентября 2010

Когда кто-то входит на мой сайт.Я хочу направить их на свою домашнюю страницу.Если у пользователя есть идентификатор 1. Они перейдут на

http://www.test.com/Home.aspx?id=1

У меня уже есть настройки входа и идентификатора.Я не уверен, как включить его в URL.

Ответы [ 2 ]

3 голосов
/ 09 сентября 2010
Response.Redirect("http://www.test.com/Home.aspx?id=" + id);
1 голос
/ 09 сентября 2010

Используете ли вы проверку подлинности с помощью форм?

Если это так, вместо RedirectFromLoginPage (который будет перенаправлять на любую страницу в вашем файле web.config), просто используйте FormsAuthentication.SetAuthCookie и выполните свое собственное перенаправление.

Для этого вам нужно использовать URL QueryString .

Например

// forms auth code here, user is logged in.
int id = 1;
string redirectUrlFormat = "http://www.test.com/Home.aspx{0}";
string queryStringidFormat = "?id={0}";
Response.Redirect(string.Format(redirectUrlFormat, string.Format(queryStringidFormat, id)));

Вы должны обработать все параметры строки запроса, URL,и т. д. (т.е. приведенный выше код) в классе глобальной статической модели.

Таким образом, вы можете просто сказать:

Response.Redirect(SomeStaticClass.GetUserHomePageUrl(id));

На принимающей странице (Home.aspx) используйте следующий кодчтобы получить идентификатор пользователя:

var userId = Request.QueryString["id"]; // again, this "magic string" should be in a static class.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...