我想使用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"];
但是这种方法不能正常工作,也没有显示文字。
我该怎么做才能解决这个问题?
由于
答案 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"];