2009-09-27 115 views
1

我想使用QueryString將字符串發送到另一個名爲Reply.aspx的頁面。使用ASP.NET通過QueryString發送數據

我寫的第一頁上,該代碼必須將文本發送到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"]; 

但這種方法ISN不能正常工作,並且不顯示文本。

我應該怎麼做才能解決這個問題?

感謝

+0

代碼應該工作...哪部分出了問題?重定向是否正確發生? – ullmark 2009-09-27 16:30:18

+0

是的,這是真的! – 2009-09-27 16:30:46

+0

它顯示任何東西嗎?你可以對它進行編碼,使其成爲一個有效的查詢字符串。或者如果它在同一個站點上,你可以將它緩存在會話對象中。 – 2009-09-27 16:31:58

回答

0

這很簡單:

第一頁:

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

第二頁:

RSubjectlbl.Text = Request.QueryString["Subject"]; 
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也會在這個問題的評論中被取消。