2010-11-08 61 views
1

我想從一個頁面傳遞一個字符串值到另一個。此外,我有一些文本框和輸入的值需要傳遞到一個新的頁面。我該怎麼做?會話,cookie在asp.net c#

我有一個串S

String S = Editor1.Content.ToString(); 

我想通過在字符串S值到一個新的頁面,即Default2.aspx我如何在ASP.net C#

回答

1

可以實現它使用SessionQueryString

通過會議
在第一頁

protected void Page_Load(object sender, EventArgs e) 
{ 
    String editor = String.Empty; 
    if(!String.IsNullOrEmpty(Session["Editor"].ToString())) 
    { 
     editor = Session["Editor"].ToString(); 
     // do Something(); 
    } 
    else 
    { 
     // do Something(); 
    } 
} 

-

通過查詢字符串
在第一頁:

// or other events 
private void button1_Click(object sender, EventArgs e) 
{ 
    String S = Editor1.Content.ToString(); 
    Response.Redirect("SecondPage.aspx?editor" + S) 
} 

在你的第二頁:

protected void Page_Load(object sender, EventArgs e) 
{ 
    string editor = Request.QueryString["editor"].ToString(); 
    // do Something(); 
} 
+0

我使用會話,但是當我試圖打印字符串編輯器時,我得到了錯誤使用未分配的本地變量」編輯器「 – Ishan 2010-11-08 07:04:23

+0

你用什麼?會話或查詢字符串?在你的第二頁? – yonan2236 2010-11-08 07:13:22

0

使用Session["content"]=Editor1.Content.ToString()在第1頁做.. 。

在第2頁使用... string s = Session["content"]

+0

比You.Im剛開以下錯誤無法隱式轉換類型「對象」到「字符串」。存在明確的轉換(您是否遺漏了演員?) – Ishan 2010-11-08 06:44:19

+0

@ user243680將字符串s = Session [「content」]'改爲'string s = Session [「content」] as string;' – 2010-11-08 06:46:05

+0

string s = Session [「content 「] .ToString()應該工作 – 2010-11-08 07:16:45

1

取決於價值是什麼。如果它只是一個參數,並且可以被用戶查看,那麼它可以通過QueryString傳遞。

例如

Response.Redirect("Default2.aspx?s=value") 

然後從默認設置2頁面訪問像

string s = Request.QueryString["s"]; 

如果需要更安全的再考慮使用會話,但是我不建議使用Session過分,因爲它可以有問題,尤其是如果您要存儲ASP.NET默認的會話InProc。

您可以擁有狀態服務器或數據庫,但根據經過身份驗證的用戶擁有自己的基於數據庫的會話可能會更好,並且如果需要將其緩存在網站中。使用

String S = Editor1.Content.ToString(); 
Session["Editor"] = S; 

然後在你的下一個頁面訪問會話: