我有列表中有國家名稱的列表中。此列表需要作爲Response.Redirect(頁面)中的一個參數發送。通過列表<T>作爲查詢字符串
是否有直接的方法來做到這一點,以便在接收頁面中,我可以將查詢字符串類型轉換爲List並使用它。
感謝, 斯利拉姆
我有列表中有國家名稱的列表中。此列表需要作爲Response.Redirect(頁面)中的一個參數發送。通過列表<T>作爲查詢字符串
是否有直接的方法來做到這一點,以便在接收頁面中,我可以將查詢字符串類型轉換爲List並使用它。
感謝, 斯利拉姆
我認爲你可以做到這一點。但是,如果來自數據庫的列表更好地在修訂頁面上再次調用該函數。否則,你必須做這樣一個骯髒的解決方案:
List<string> ls=new List<string>{"Sweden","USA"};
Response.Redirect("page.aspx?CountryList="+string.Join(",",ls));
且審裁頁面上做到這一點:
List<string> ls= QueryString["CountryList"].Split(',').ToList();
但記得有你如何能大派的查詢字符串的限制。所以如果列表包含很多項目,那麼你可能會達到上限。
,或者存儲在會話:
Session["CountryList"]=ls;
然後在修訂頁面上。這樣做:
List<string> ls=(List<string>)Session["CountryList"];
Session.Remove("CountryList");
記住remove
的session
當你用它做。所以,你不必在session
取決於您所在的國家名單有多大。 我通常使用Session["CountriesNames"] as List<string>
在asp.net webforms的網頁之間傳遞這樣的值。
髒值從發送列表
Response.Redirect("page.aspx?CountryList=" + string.Join(",", (string[])TargetArrayList.ToArray()));
字符串獲得查詢字符串
string str = Request.QueryString["CountryList"];
string[] arr = str.Split(',');
TargetArrayList = arr.ToList();
它真的幫助我,謝謝 –