Навигация по URL-адресу со значениями строки запроса по щелчку гиперссылки

У меня есть элемент управления с текстовыми полями «электронная почта» и «пароль» и флажком «автоматический вход». Все элементы управления веб-формы (не элементы управления html). И есть гиперссылка «Войти». Когда я нажимаю на heperlink, я хочу перейти на другую страницу, используя свойство NavigateUrl, как показано ниже:

NavigateUrl="~/DoLogin.aspx?email={0}&pwd={1}&autoLogin={3}"

как пройти и как получить строку запроса?

Заранее спасибо...


person karthik k    schedule 02.06.2011    source источник
comment
Пароль в строке запроса? Действительно?   -  person Chandu    schedule 02.06.2011


Ответы (4)


private void btnSubmit_Click(object sender, System.EventArgs e)
{
Response.Redirect("Webform2.aspx?Email=" +
this.txtemail.Text + "&Pwd=" +
txtPassword.Text);
} 

теперь для следующей страницы (Webform2.aspx) перейдите туда и в событии загрузки страницы напишите этот код

private void Page_Load(object sender, System.EventArgs e)
{
string Email = Request.QueryString["Email"];
 string password = Request.QueryString["Pwd"];
} 

Вы также можете использовать этот

private void Page_Load(object sender, System.EventArgs e)
{
 string Email = Request.QueryString[0];
 string password = Request.QueryString[1];
}

поместите эти значения там, где вы хотите

person Vir    schedule 02.06.2011

Самый простой способ - использовать не гиперссылку, а кнопку (или кнопку ссылки) и сделать обратную передачу, а затем использовать, Response.Redirect("Url") или лучше событие, обработать вход напрямую. В противном случае вам придется собирать данные с помощью javascript.

person Magnus    schedule 02.06.2011

При входе нажмите напишите этот код

Response.Redirect("~/DoLogin.aspx?email=" + txtEmail.txt + "&pwd=" + txtPwd.text)
person Deepesh    schedule 02.06.2011
comment
Что делать, если пароль содержит амперсанд? Server.UrlEncode() необходимо использовать для обеих строк. Хотя я бы рекомендовал сделать это в любом случае из соображений безопасности... - person Curt; 02.06.2011

Я предполагаю, что вы делаете это, потому что на вашей странице DoLogin есть код входа в Page_Load?

Я действительно не рекомендовал бы передавать учетные данные имени пользователя/пароля в URL-адресе.

Как сказал @Magnus, было бы лучше изменить Hyperlink на LinkButton и поместить туда свой код.

person Curt    schedule 02.06.2011