0

我在一个页面中有两个文本框,在这些文本框之后有两个单独的搜索按钮,搜索按钮重定向到另一个页面,用户搜索和结果显示在网格中,可以有多个结果,每行网格包含“选择”命令,以便当用户单击特定行的选择时,它的数据被选中并且页面重定向到上一页并且行的数据显示在文本框中..

到目前为止我已经做到了。这就是我想要做的:

由于有两个文本框,两个单独的搜索按钮,我遇到的是当用户为第一个文本框选择第一个数据并搜索第二个文本框然后在第二次搜索后返回第一页时,第一个文本框变为空,我想要的是它应该包含用户之前输入的值。

文本框应保留该值。如果搜索第一个文本框,则第二个应保留其值,如果搜索第二个文本框,则第一个应保留其值。

我在 dg_RowCommand 事件中使用 response.redirect 方法。我认为这个页面正在渲染它的初始值,这是我不想要的。

请告诉我我已经搜索了很多但一无所获的解决方案。

4

4 回答 4

3

您可以将值存储在其中一个CookieSession变量中。会话变量是特定于应用程序的,而 cookie 是特定于浏览器的。

试试这个,用于创建会话变量

Session["key"] = "your value"

或者

饼干

Response.Cookies["key"].Value ="your value"

在另一个页面上首先检查它是否不为空

if(Session["key"]!=null)
// use it

和 cookie 相同(使用 Request 对象访问它)

if (Request.Cookies["key"] != null)
//  use it
于 2013-09-25T12:56:18.900 回答
0

使用会话变量。Session["YourKey"] = your value;您可以跨页面访问它

更新: 如果我是对的,那么您正在考虑一些向导类型的界面。如果您可以利用ASP.Net 向导控件,请查看此内容。它可能会帮助你。

于 2013-09-25T12:57:32.507 回答
0

将页面合并为一个,每个页面(步骤)成为一个 div 或 asp:Panel。在 Click_Next 事件(或其他)上隐藏/显示 div 而不是“导航到下一页”。这样,所有控件都保留在同一页面上,并在显示/隐藏 div 时保持所有值。不需要会话或其他方法。

于 2013-09-25T13:20:17.570 回答
-1

如果您使用 C# 代码中的 Response.Redirect 方法进行重定向,那么在执行此重定向之前,您可以将项目存储在Session变量中:

Session["Test1"] = test1.Text;

每个用户都维护会话。只要应用程序正在运行,这些值就会一直保留,但请注意,如果发生应用程序超时或用户关闭应用程序(关闭浏览器),这些值将丢失。

于 2013-09-25T12:54:29.653 回答