我在 ASP.NET c# 应用程序中工作。
我来到了一个需要在 response.redirect 到同一页面 后保留一些值而不使用额外的 QueryString 或 Session 的部分,因为 Session 或多或少可能会给服务器的性能带来负担,即使只是一个很小的值。
下面是我的代码片段:
protected void ddl_SelectedIndexChanged(object sender, EventArgs e)
{
string id = ddl.SelectedValue;
string id2 = ddl2.SelectedValue;
Response.Redirect("http://sharepoint2007/sites/home/Lists/CustomList/DispForm.aspx?ID=" + id);
}
我想在 Response.Redirect 之后保留值 id2,我试过 ViewState 但似乎在重定向之后,它将页面视为新页面,而 ViewState 值消失了。
更新:
我希望在重定向后保留该值的目的是绑定(bind)回下拉列表选择的值。
请帮忙。
先谢谢了。
最佳答案
使用 cookie 可以解决问题:
protected void ddl_SelectedIndexChanged(object sender, EventArgs e)
{
string id = ddl.SelectedValue;
string id2 = ddl2.SelectedValue;
HttpCookie cookie = new HttpCookie("SecondId", id2);
Response.Cookies.Add(cookie);
Response.Redirect("http://sharepoint2007/sites/home/Lists/CustomList/DispForm.aspx?ID=" + id);
}
protected void OnLoad(object sender, EventArgs e)
{
string id2 = Request.Cookies["SecondId"];
//send a cookie with an expiration date in the past so the browser deletes the other one
//you don't want the cookie appearing multiple times on your server
HttpCookie clearCookie = new HttpCookie("SecondId", null);
clearCookie.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(clearCookie);
}
关于c# - ASP.NET C# - 如何在 Response.Redirect 后保留值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9800110/