2011-06-02 52 views
1

我有一個使用'email'和'password'文本框和'autoLogin'複選框的控件。所有的都是網頁表單控件(不是html控件)。還有一個「登錄」超鏈接。當我點擊heperlink,我想用NavigateUrl屬性象下面移動到其他頁面:通過點擊超鏈接導航帶有查詢字符串值的URL

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

如何傳遞,如何得到查詢字符串?

在此先感謝...

+7

查詢字符串中的密碼?真? – Chandu 2011-06-02 10:19:43

回答

0

最簡單的方法是不登錄直接使用超鏈接,但一個按鈕(或鏈接按鈕),並回傳,然後用,Response.Redirect("Url")或事件更好的過程。 Otherwize你必須使用JavaScript收集你的數據。

0

在登錄點擊編寫代碼

Response.Redirect("~/DoLogin.aspx?email=" + txtEmail.txt + "&pwd=" + txtPwd.text) 
+1

如果密碼包含&符號會怎麼樣? Server.UrlEncode()需要放在兩個字符串中。儘管出於安全考慮,我會建議你這樣做...... – Curt 2011-06-02 10:24:20

0

我假設你這樣做,因爲你的DoLogin頁面已在Page_Load一些登錄代碼?

我真的不會建議在URL中傳遞用戶名/密碼憑據。

就像@Magnus所說的,最好將Hyperlink更改爲LinkButton並將代碼放在那裏。

3
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]; 
} 

地方這個值你想要的地方