在asp.net 4中使用登录控件传递查询字符串?

时间:2011-09-15 16:22:36

标签: asp.net c#-4.0 query-string

情境:

我在C#ASP.NET 4中做项目。

我有一页问题。当有人点击问题(即Link Button)时,他被重定向到用户可以给出答案的页面,但首先他需要登录。因此,我将Login to Answer按钮重定向到GuestLogin.aspx,问题ID如下:

protected void LoginToAnswwer_Click(object sender, EventArgs e)
{
    int qidrequest = int.Parse(Request.QueryString["qid"]);
    Response.Redirect("~/GuestLogin.aspx?qid=" + qidrequest);
    //This is working OK
}

然后当我被重定向到GuestLogin.aspx时,我将代码置于内置Login Control的LoginButton中。

protected void LoginButton_Click(object sender, EventArgs e)
{
    int qidrequest = int.Parse(Request.QueryString["qid"]);
    Response.Redirect("QDisplay.aspx?qid=" + qidrequest);
}

哪个不起作用。

问题:

如何在asp.net 4中使用内置querystring的登录按钮传递login control

2 个答案:

答案 0 :(得分:2)

您可以将返回URL传递给登录页面,如下所示:

Response.Redirect(String.Format("/auth/login.aspx?return={0}", Server.UrlEncode(Request.Url.AbsoluteUri)));

在登录页面中,在对用户进行身份验证后:

Response.Redirect(Request.QueryString["return"]);

答案 1 :(得分:1)

Pass Parameters from One Page to Another Page using QueryString

  

//设置Querystring参数
  注意:最大长度   可以通过QueryString传递的字符串是255.

string URL =“QueryString.aspx?Name=” + txtFirstName.Text + “&Address=” + txtAddress.Text + “&City=” + txtCity.Text ;  
 //After Setting the Querystring Paramter values Use Response.Redirect to navigate the page
 Response.Redirect(URL); 
  

在Navigated的Page Load事件中   您可以访问以下查询字符串参数值:

lblName.Text = Request.QueryString["Name"].ToString();   
lblAddress.Text = Request.QueryString["Address"].ToString();   
lblCity.Text= Request.QueryString["City"].ToString();
  

这就是你必须使用QueryString传递参数

的方法