【发布时间】:2019-04-03 02:59:38
【问题描述】:
我是 ASP.NET MVC 和设计模式的初学者。仍在努力理解 MVC 如何将业务逻辑与 UI/View 分开。
假设我们有这种情况:
有一个 Employee 模型,其属性为 TotalSales 用于本月的总销售额,还有一个默认的 Index 视图。
所以在视图中,Razor 引擎应该填充员工的详细信息,例如姓名、性别、部门等。所以我们只需将视图模型传递给视图,这似乎运行良好。但是假设我希望 UI/HTML 还显示一个额外的段落“这个员工是一个好员工”,如果员工的 TotalSales > 10000 这个月,否则显示“这个员工需要提高他的营销技巧”。所以在视图模板中,我必须这样编码:
@if (employeeInstance.TotalSales > 10000)
{
<p>This employee is a good employee</p>
}else
{
<p>This employee needs to improve his marketing skill</p>
}
但是业务逻辑是不是混合在视图内部,这违背了MVC模式的目标?
【问题讨论】:
标签: c# asp.net-mvc model-view-controller