使用ASP.NET通过QueryString发送数据

时间:2009-09-27 16:23:19

标签: asp.net query-string

我想使用QueryString将一个字符串发送到另一个名为Reply.aspx的页面。

我在第一页上编写了这段代码,必须将文本发送到Reply.aspx:

protected void FReplybtn_Click(object sender, EventArgs e)
{
    String s = "Reply.aspx?";
    s += "Subject=" + FSubjectlbl.Text.ToString();
    Response.Redirect(s);
}

我在Reply.aspx页面上写了这段代码:

RSubjectlbl.Text += Request.QueryString["Subject"];

但是这种方法不能正常工作,也没有显示文字。

我该怎么做才能解决这个问题?

由于

2 个答案:

答案 0 :(得分:0)

虽然您的代码应该可以正常工作,但即使源字符串有空格等,它也应该在您访问查询字符串时返回一些内容,请同时尝试:

protected void FReplybtn_Click(object sender, EventArgs e)
{
    String s = Page.ResolveClientUrl("~/ADMIN/Reply.aspx");
    s += "?Subject=" + Server.UrlEncode(FSubjectlbl.Text.ToString());
    Response.Redirect(s);
}

编辑: -

void Page_Load(object sender, EventArgs e)
{
    if(Request.QueryString.HasKeys())
    {
        if(!string.IsNullOrEmpty(Request.QueryString["Subject"]))
        {
            RSubjectlbl.Text += Server.UrlDecode(Request.QueryString["Subject"]);
        }
    }
}

PS: - Server.UrlEncode也对此问题发表评论。

答案 1 :(得分:0)

这很简单:

第一页:

string s = "~/ADMIN/Reply.aspx?";
s += "Subject=" + FSubjectlbl.Text;
Response.Redirect(s);

第二页:

RSubjectlbl.Text = Request.QueryString["Subject"];