我想在Asp.net中填充Listview,并将其链接到另一个页面。所以当用户点击一条记录时,他们将重定向到与该记录相关的新页面。我有很多参数要保留。将参数传递给asp.net中的新页面(在重定向中)
在页面重定向,是否有任何其他方式传递参数除了具有 “QueryString
”?
我想在Asp.net中填充Listview,并将其链接到另一个页面。所以当用户点击一条记录时,他们将重定向到与该记录相关的新页面。我有很多参数要保留。将参数传递给asp.net中的新页面(在重定向中)
在页面重定向,是否有任何其他方式传递参数除了具有 “QueryString
”?
您可以使用Cookies
SET :
HttpCookie cookieName = new HttpCookie("Name");
cookieName.Value = "SarahN";
GET :
string name = Request.Cookies["Name"].Value;
OR你可以使用
Application Variables
SET :
Application["Name"] = "SarahN";
GET :
string Name = Application["Name"].ToString();
或您可以使用Context
对象
通过上下文对象传递值是另一个广泛使用的方法。
MyForm1.aspx.cs
TextBox1.Text = this.Context.Items["Parameter"].ToString();
MyForm2.aspx.cs
this.Context.Items["Parameter"] = TextBox1.Text;
Server.Transfer("MyForm2.aspx", true);
从MSDN
语境
上下文对象为单个用户保存数据,用于请求的单个 ,并且仅在请求的持续时间内持久化。上下文容器可容纳大量数据,但通常用于容纳小块数据,因为它通常通过global.asax中的处理程序对每个请求实施 。上下文 容器(可从页面对象访问或使用 System.Web.HttpContext.Current)提供用于保存需要在不同HttpModules和HttpHandlers之间传递 的值。它也可以用于保存与整个 请求相关的信息。例如,IBuySpy门户在Global.asax的Application_BeginRequest 事件处理程序期间将一些配置 信息填充到此容器中。请注意,这仅适用于当前请求的 ;如果您需要的东西仍然在 的下一个请求中,请考虑使用ViewState。设置并获取来自Context集合的数据 使用的语法与 已与其他集合对象(如应用程序, 会话和高速缓存)已见过的语法相同。两个简单的例子如下所示:
// Add item to
Context Context.Items["myKey"] = myValue;
// Read an item from the
Context Response.Write(Context["myKey"]);
您也可以参考:
我设置cookie在第一页,并重定向到第二页面,为什么Cookie在第二页上为空? ,但应用程序[]正在工作精细 –
@SarahN: - 没有代码很难预测它为什么会这样发生?你是否也指过Application变量正在为你工作? –
是的,它的工作原理。但正如我记得,应用程序状态在所有asp.net应用程序中都是已知的。我可以有更多本地的吗? –