情境:
我在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
?
答案 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传递参数
的方法