我有一个MyObject类型的列表,MyObject的一个属性是Order。
这用于设置在视图中输出对象数据时的优先级顺序。
例如:
@foreach(var item in Model.GroupOfMyObjects)
{
@* // output some HTML *@
}
我的问题是..。这个列表的排序(按顺序)应该在操作中完成(当构建要发送到视图的ViewModel时)还是应该在视图(Razor代码)中完成?
视图的意思是按我的理解处理演示文稿,因此这意味着Action不会进行排序(因为这是演示文稿)。但这并不能让我感到舒服,因为我觉得我会在视图中对UI有一些逻辑,在后面(在这里我构建ViewModel)也会有一些逻辑。
谁负责名单的排序?
编辑:我想避免团队中的一些人在视图中做这样的操作,而有些人在行动中这样做。这将是一个令人头痛的问题,因此,我要问。
编辑:订单可以更改。用户可以在页面上创建一个新的MyObject,用AJAX发布数据,然后调用后端(使用AJAX)重新获得组,并输出它。
啊..。如果我们说视图(Razor代码)必须进行排序,那么现在我们必须有一些额外的JavaScript代码来对返回的数据进行排序(因为Razor只在页面加载时运行)。所以现在我们有两个地方的排序代码。
发布于 2015-04-02 06:08:02
我认为您应该在控制器中对数据做同样多的工作。只有在特殊情况下,才能操纵视图中的数据。
如果您需要特定的数据定制,请传递您自己的高级视图模型。
把关注点分开听起来就像你的担心。
https://stackoverflow.com/questions/29414503
复制相似问题