我的问题是在哪里放置返回的表格数据的逻辑。把表格数据的逻辑放在哪里
我正在玩一个显示课程和学生入学的教程。
这里是从屏幕
评分标题名字
2.00经济学蒂贝茨编辑数据|详细信息|删除
3.50 Economics Guzman编辑|详细信息|删除
4.00 Literature Catlett编辑|详细信息|删除
1.80 Literature Tibbetts编辑|详细信息|删除
3.20 Chemistry Tibbetts编辑|详细信息|删除
4.00 Chemistry Guzman编辑|详细信息|删除
4.00 Literature Pete Edit |详细信息|删除
代码开始时只是显示表数据
@foreach (var item in Model.Enrollments)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Course.Title)
</td>
<td>
@Html.DisplayFor(modelItem => item.Grade)
</td>
<td>
@Html.DisplayFor(modelItem => item.Course.Credits)
</td>
</tr>
}
我能够改变TR红色背景,如果等级是< = 2通过添加瓦尔风格 和风格=“@风格”(在堆栈溢出发现这个)
@foreach (var item in Model.Enrollments)
{
var style = item.Grade <= 2 ? "background-color:Red" : null;
<tr style="@style">
<td>
@Html.DisplayFor(modelItem => item.Course.Title)
</td>
<td>
@Html.DisplayFor(modelItem => item.Grade)
</td>
<td>
@Html.DisplayFor(modelItem => item.Course.Credits)
</td>
</tr>
}
这是正确的,因为它是在视图上,我会怎么做更难的事像上的删除动作经济的标题s或不显示用户lastname
如果它以“T”开头 这是全部应该在PartialView或控制器或两者兼而有之以及如何做到这一点。 一个例子会很棒。我想我只是不明白如何在数据进入视图之前对其进行按摩。
我是一个经典的asp实施者转移到MVC。我意识到应该有一个单独的代码,以便它不像经典的意大利面条,但我是一个新手,并且对如何这样做感到困惑。 在过去,我会做一个if语句并执行逻辑,然后根据它执行asp和or html。
使用其他属性创建视图模型以表示要显示的内容。例如,'EnrollmentsViewModel'可以包含一个属性'bool CanDelete',用于有条件地渲染元素。在将其传递给视图之前,先在控制器中设置这些属性。 – 2014-12-07 01:10:41
感谢您的快速回复。所以我会有一个名为viewModels的新文件夹,然后我会在里面有一个具有逻辑的方法的类。我想知道你是否有一个例子或我可以看的东西。我从来没有制作过视图模型或其他任何东西。 – dnice 2014-12-07 01:14:08
拥有一个单独的文件夹'ViewModels'可以让管理更容易。只需将'Enrollment'的属性剪切并粘贴到'EnrollmentVM'中,并根据需要添加新属性。建议您阅读[MVC中的视图模型是什么](http://stackoverflow.com/questions/11064316/what-is-viewmodel-in-mvc) – 2014-12-07 01:18:03