【发布时间】:2011-05-19 13:41:19
【问题描述】:
我正在使用 ASP.NET MVC 2 并构建一个简单的业务应用程序。以下是一些细节:
该应用程序处理工单和 有一个工单索引视图。这 视图有一个列出工作的表格 订单和几个控件(文本 框、复选框和下拉菜单 列表)来选择标准 要显示哪些工单。
我正在使用视图模型。工单 索引视图有一个视图模型 每个属性 控制。
我已经实现了类似于 答案中正在做什么 这个问题: How do I do pagination in ASP.NET MVC? 我正在使用 LINQ 的 Skip() 和 Take() 作为 演示,以及 ActionLinks 的 导航。
-
如果我加载页面但没有 操纵任何控件,我可以 点击页码 ActionLinks 并在两者之间移动就好了 工单页。但是,如果我 改变一些东西,我的改变丢失了 当我导航到另一个页面时。
例如,如果我在第 1 页并且 单击未选中的复选框,然后 然后点击第2页的链接, 结果的第二页将加载 但复选框将恢复为 以前的状态。
我理解为什么会发生这种情况,但我想知道从设计的角度来看最好的做法是什么。
我能想到的潜在解决方案:
将所有控制值设置为路由 ActionLinks 中的值。这 看起来真的很讨厌,可能会导致 在很长的 URL 或查询字符串中。实际上,现在我想到了,如果没有捕获控件值的方法,这是行不通的。由于 ActionLinks 不发布 任何东西,用按钮替换它们。 同样,这似乎是个坏主意。
将 ActionLinks 更改为链接 触发一个执行以下操作的 jQuery 脚本 邮政。我觉得这是最 到目前为止有希望的选择。做很多 开发者是这样做的?
这似乎是一个很常见的问题,但这些选项都不是很正确。我想知道我是否遗漏了什么。
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-2 viewmodel actionlink