我在一个页面中有两个文本框,在这些文本框后面有两个单独的搜索按钮,搜索按钮重定向到另一个页面,用户搜索和结果显示在网格中,可以有多个结果,每行网格包含'select'命令,以便当用户点击选择特定行时,其数据被选中,页面重定向到上一页,行数据显示在文本框中。
到目前为止我已经完成了。这就是我想要做的事情:
由于有两个文本框,两个单独的搜索按钮,我遇到的是当用户为第一个文本框选择第一个数据并搜索第二个文本框然后在第二个搜索后返回第一个页面时,第一个文本框变为空,我是什么希望它应该包含用户之前输入的值。
文本框应保留该值。如果搜索第一个文本框,则第二个应该保留其值,如果搜索第二个文本框第一个应保持其值。
我在dg_RowCommand事件中使用response.redirect方法。我认为通过这个页面渲染的初始值是我不想要的。
请告诉我我搜索过的解决方案,但没有提出任何问题。
答案 0 :(得分:3)
您可以将值存储在Cookie
或Session
变量中。会话变量是特定于应用程序的,并且cookie是特定于浏
尝试这个,用于创建会话变量
Session["key"] = "your value"
或
for Cookie
Response.Cookies["key"].Value ="your value"
另一页上的首先检查它是否为空
if(Session["key"]!=null)
// use it
和cookie相同(使用Request对象访问它)
if (Request.Cookies["key"] != null)
// use it
答案 1 :(得分:0)
使用Session变量。 Session["YourKey"] = your value;
您可以跨页访问
<强>更新强> 如果我是对的那么你正在考虑一些向导类型的界面。如果您可以从ASP.Net Wizard control获益,那么请查看此内容。它可能会对你有帮助。
答案 2 :(得分:0)
将页面合并为一个页面,每个页面(步骤)成为div或asp:Panel。在Click_Next事件(或其他)上隐藏/显示div而不是“导航到下一页”。这样,所有控件都保持在同一页面上,并在显示/隐藏div时保持所有值。无需会话或其他方法。
答案 3 :(得分:-1)
如果您使用C#代码中的Response.Redirect方法重定向,那么在执行此重定向之前,您可以将项目存储在Session
个变量中:
Session["Test1"] = test1.Text;
每个用户维护会话数。只要应用程序正在运行,这些将保留,但是如果发生应用程序超时或用户关闭应用程序(关闭浏览器),则会警告这些值将丢失。