在MVC中处理模式参数的正确方法是什么?

时间:2011-12-19 22:42:46

标签: asp.net asp.net-mvc asp.net-mvc-3

我的应用程序有许多环境属性,如当前的CountryId,DocumentMode等。在我学习in a previous question时,这些属性的当前值不应该存储在Session中,而是应该在查询中发送每个页面请求上的字符串。到目前为止一切都很好。

因此,当我构建页面时,我想安排所有操作链接如下所示:

/控制器/动作CountryId = X&安培; DocumentMode = Y&安培; ...

我可以通过检查查询字符串并在每个变量的当前值中滑动来轻松完成此操作。

问题是,当其中一个值发生变化时,通知应用的正确方法是什么?

具体来说,在每个视图的顶部,我有一个选择下拉列表,显示例如所有国家/地区。选择新的时会发生什么?

现在,更改会触发一个javascript函数调用,该调用将替换查询字符串中的CountryId,并调用仅重新加载原始页面的操作,但设置了新的CountryId,因此重建了新的操作链接。但这似乎有些笨拙。是否有更优雅的方式来更新页面上的所有链接而无需服务器刷新来执行此操作? (我总是可以做一些脚本来做这件事,但这似乎并不重要,如果有一个内置的方法,我不想重新发明轮子。)

任何帮助非常感谢。谢谢!

2 个答案:

答案 0 :(得分:1)

您可以将页面的一部分更改为局部视图,并在每次更改控件时通过AJAX重新加载该视图。

Partial rendering after page loaded

或者你可以写一些javascript来更新所有链接。发布一些代码,我相信你会得到一些关于写它的好方法的建议。

答案 1 :(得分:0)

我决定暂时保持简单,只需刷新整个页面,重新创建所有链接。我的应用程序量很小,现在就足够了。如果我需要构建一个不会像这样愚蠢地强调服务器的应用程序,我会看到交换就地解决方案。