如何从文本框的值添加查询字符串? ASP .NET c#

时间:2011-12-25 00:39:26

标签: c# asp.net visual-studio

我有一个网站的登录页面,会员可以在文本框中插入电子邮件。我的问题是如何根据文本框的值重定向到另一个页面,例如

Response.Redirect("homepage.aspx?and here the value of the textbox");

2 个答案:

答案 0 :(得分:5)

keyboardP的答案是正确的,但请记住在您的网站中打开的安全漏洞。您需要通过所有验证来运行该文本框值,以避免XSS攻击,请求劫持或任何其他恶意行为,只需使用文本框中的值而无需验证它。

如果这不是问题,您应该将keyboardP的答案标记为正确答案。

答案 1 :(得分:4)

Response.Redirect(string.Format("homepage.aspx?{0}", myTextbox.Text));

上面的所有代码都是将{0}替换为使用Text属性检索的文本框的值。然后将页面重定向到包含文本框值的新形成的字符串。

作为旁注,由于我不知道你的文本框中有什么,你应该像这样为查询字符串添加一个ID:

string.Format("homepage.aspx?mytextbox={0}", myTextbox.Text)

这样可以更容易地从另一端检索QueryString。

编辑 - 要接收QueryString,您可以在它被重定向到的页面上处理它。在该页面中,您可以执行以下操作:

protected void Page_Load(object sender, EventArgs e)
{
    //notice that we're using the id `mytextbox`
    string qsvalue = Request.QueryString["mytextbox"];
    if (qsvalue != null)
    {
        ...
    }
}

我假设它是一个字符串,但你也可以将它解析为其他类型,如整数,如果这是你期望的。