在我的第一个真正的 MVC 应用程序中,我几乎在每一页都遇到了这个问题。我确定我错过了一些东西。
我目前正在处理的一个例子:
该页面有多个下拉列表(过滤器)和一个网格。我有填充过滤器的剃须刀代码,网格最初使用数据的视图模型。一切都很好,代码很干净,页面加载完美。
现在,当我选择不同的过滤器选项时,这可能会更改其他一些下拉菜单,并且肯定会更改网格中的数据。因此,我正在对我的一个控制器方法进行 ajax 调用以获取新数据。然后我必须在 JS 中重建网格以及任何已更改的下拉菜单。这只是复制 Razor 代码为初始页面加载所做的工作。
如果我在 Razor 中添加了类、属性等,这也必须在 JS 中复制。
一定有一个我错过的模式。在这一点上,我什至不在乎更新是否使用 ajax 动态完成。如果我可以在 Razor 中通过“回发”完成所有这些工作,那很好。任何可以避免这种大量代码重复的方法。