MVC Action 或 Razor - 谁负责对列表进行排序?
MVC Action or Razor - Who is responsible for sorting the list?
我有一个 MyObject 类型的列表,属性 的 MyObject 是 Order。
这个用来设置我在View中输出对象数据时的优先顺序
例如
@foreach(var item in Model.GroupOfMyObjects)
{
@* // output some HTML *@
}
我的问题是……这个列表的排序(按顺序)应该在 Action 中完成(在构建 ViewModel 以发送到 View 时)还是应该在 View 中完成(Razor 代码)?
据我所知,View 仅用于处理演示文稿,因此这意味着 Action 不会进行排序(因为这是一个演示文稿)。但这并不适合我,因为我觉得我将对视图中的 UI 和后面的部分(我构建 ViewModel 的地方)有一些逻辑。
谁负责列表的排序?
编辑:我想避免团队中的某些人在视图中执行此类操作而某些人在操作中执行此类操作。维护起来会很头疼,所以我才问。
编辑:顺序可以更改。用户可以在页面新建一个MyObject,post数据AJAX,然后我们调用后端(AJAX)重新获取组,然后输出它。
啊...如果我们说视图(Razor 代码)必须进行排序,那么现在我们必须有一些额外的 JavaScript 代码来对返回的数据进行排序(因为 Razor 仅在页面加载)。所以现在我们在两个地方有排序代码。
我认为你应该在控制器中专门对数据做尽可能多的工作。
只有在特殊情况下,您才应该在视图中操作数据。
如果您需要特定的数据自定义,请传递您自己的精美视图模型。
关注点分离听起来像你的关注点。
我有一个 MyObject 类型的列表,属性 的 MyObject 是 Order。
这个用来设置我在View中输出对象数据时的优先顺序
例如
@foreach(var item in Model.GroupOfMyObjects)
{
@* // output some HTML *@
}
我的问题是……这个列表的排序(按顺序)应该在 Action 中完成(在构建 ViewModel 以发送到 View 时)还是应该在 View 中完成(Razor 代码)?
据我所知,View 仅用于处理演示文稿,因此这意味着 Action 不会进行排序(因为这是一个演示文稿)。但这并不适合我,因为我觉得我将对视图中的 UI 和后面的部分(我构建 ViewModel 的地方)有一些逻辑。
谁负责列表的排序?
编辑:我想避免团队中的某些人在视图中执行此类操作而某些人在操作中执行此类操作。维护起来会很头疼,所以我才问。
编辑:顺序可以更改。用户可以在页面新建一个MyObject,post数据AJAX,然后我们调用后端(AJAX)重新获取组,然后输出它。
啊...如果我们说视图(Razor 代码)必须进行排序,那么现在我们必须有一些额外的 JavaScript 代码来对返回的数据进行排序(因为 Razor 仅在页面加载)。所以现在我们在两个地方有排序代码。
我认为你应该在控制器中专门对数据做尽可能多的工作。 只有在特殊情况下,您才应该在视图中操作数据。
如果您需要特定的数据自定义,请传递您自己的精美视图模型。
关注点分离听起来像你的关注点。