1

我想在Asp.net中填充Listview,并将其链接到另一个页面。所以当用户点击一条记录时,他们将重定向到与该记录相关的新页面。我有很多参数要保留。将参数传递给asp.net中的新页面(在重定向中)

页面重定向,是否有任何其他方式传递参数除了具有 “QueryString”?

回答

1

您可以使用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"]); 

您也可以参考:

+0

我设置cookie在第一页,并重定向到第二页面,为什么Cookie在第二页上为空? ,但应用程序[]正在工作精细 –

+0

@SarahN: - 没有代码很难预测它为什么会这样发生?你是否也指过Application变量正在为你工作? –

+0

是的,它的工作原理。但正如我记得,应用程序状态在所有asp.net应用程序中都是已知的。我可以有更多本地的吗? –

相关问题