MVC - 查看更改在模型中排序的数据的显示

时间:2014-01-27 23:43:18

标签: c# asp.net-mvc asp.net-mvc-4 sorting razor

我正在开发一个MVC应用程序,它在网格中显示已排序的数据。这很简单,模型获取数据,视图显示输出。但是,视图可以使输出格式化,使基础数据看起来未排序

例如,模型运行此查询并且其输出已正确排序:

Select ClassName, IsActiveClassAssignment from classtable order by ClassName

但是,视图可以根据viewmodel中其他字段的值更改ClassName的显示。例如:以下是视图cshtml的片段。

<span data-bind="if:ClassName==null">&nbsp;</span><span data-bind="text: ClassName, visible:IsActiveClassAssignment" />

这导致在排序的输出中显示看似空白的类名。

解决此问题的一种简单方法是将上面显示的cshtml逻辑推送到数据访问/模型层。例如

 select, CASE WHEN IsActiveClassAssignment = 1 THEN '' ELSE ClassName END as ClassName,IsActiveClassAssignment order by ClassName

但这似乎不对。整个应用程序都有这样的cshtml代码片段,并且将这种“显示”逻辑推入模型似乎不正确......或者是它?

如何在MVC应用程序中最好地解决这个问题?

0 个答案:

没有答案