C# 使用MVC3 Webgrid,如何在会话中保留网格,以便返回到以前所在的页面?

C# 使用MVC3 Webgrid,如何在会话中保留网格,以便返回到以前所在的页面?,c#,asp.net-mvc,asp.net-mvc-3,session-state,webgrid,C#,Asp.net Mvc,Asp.net Mvc 3,Session State,Webgrid,抱歉,如果标题有点混乱,但基本上我的问题是这个 我在A页上,A页包含一个搜索,该搜索过滤Webgrid中的数据。webgrid每页有十行。我在过滤器中搜索了一些东西,webgrid现在返回了27行数据,因为有27行,现在我的webgrid上显示了三个页面 现在我需要帮助了,现在,我点击了webgrid中的一个链接,我从页面移到了B页面,此时页面模型保存在会话中,所以当我使用链接导航回a页面时,webgrid仍然显示我最初搜索时的27行。然而,如果我在A页之前在网格的第3页,当我从B页返回到A页时

抱歉,如果标题有点混乱,但基本上我的问题是这个

我在A页上,A页包含一个搜索,该搜索过滤Webgrid中的数据。webgrid每页有十行。我在过滤器中搜索了一些东西,webgrid现在返回了27行数据,因为有27行,现在我的webgrid上显示了三个页面

现在我需要帮助了,现在,我点击了webgrid中的一个链接,我从页面移到了B页面,此时页面模型保存在会话中,所以当我使用链接导航回a页面时,webgrid仍然显示我最初搜索时的27行。然而,如果我在A页之前在网格的第3页,当我从B页返回到A页时,我会自动返回到第1页

如何将页码保存在webgrid上,并将其作为参数输入,这样当我从B页返回A页时,它会将我带到第3页,而不是第1页


提前感谢,

是的,只要webgrid每次分页时都发回控制器,您就可以在会话中捕获当前页码,然后当您返回时,您就可以重新加载到需要的位置。将此添加到您的模型中:

public int PageNumber { get; set; }

在控制器中,将PageNumber设置为1作为默认值,或将保存时存储在会话中的值设置为1。这个值被传递到视图,然后可以传递到webgrid,它会显示一个页码。

好的,我现在有一个控制器,这会生成一个模型,并传递到视图中。有没有一种方法可以将一个数字(或变量)的参数传入我的webgrid,这样它就可以在webgrid上打开特定的页面?是的,您可以通过模型传递页码,然后将其传递给webgrid,webgrid应该有一个页码。但是,如何将页码作为参数输入网格?通过PageIndex属性: