我刚刚从一本书为例MVC,强类型的浏览VS关注点分离
控制器:
[HttpPost]
public ViewResult RsvpForm(GuestResponse guestResponse)
{
// TODO: Email guestResponse to the part organizer
return View("Thanks", guestResponse);
}
查看:
@model MvcApplication1.Models.GuestResponse
@{
ViewBag.Title = "Thanks";
}
<div>
<h1>Thank you, @Model.Name!</h1>
@if (Model.WillAttend == true)
{
@:It's great that you're coming. The drinks are already in the fridge!
}
else
{
@:Sorry to hear that you can't make it, but thanks for letting us know.
}
</div>
我认为,这方法违背分离视图和模型/控制器逻辑的概念。
我的做法是:
控制器:
[HttpPost]
public ViewResult RsvpForm(GuestResponse guestResponse)
{
ViewResult v = View("Thanks");
v.ViewBag.Name = guestResponse.Name;
if (guestResponse.WillAttend)
{
v.ViewBag.Message = "It's great that you're coming. The drinks are already in the fridge!";
}
else
{
v.ViewBag.Message = "Sorry to hear that you can't make it, but thanks for letting us know.";
}
return v;
}
查看:
@{
ViewBag.Title = "Thanks";
}
<div>
<h1>Thank you, @ViewBag.Name!</h1>
@ViewBag.Message;
</div>
的这个 “问题” 的目的是为了阐明这个观点应该用于查看和控制器来控制要显示的内容,并且书中的例子是“坏方法”(我是缺点因为作者只是想展示MVC的能力)
现在正在使用强类型视图(与逻辑代码)真的这个好主意,还是回到ASP意大利面代码?
请给一些很好的反馈考虑到高品质的企业设计
更新: 我知道这是简单的例子,有没有验证ANS这样,但是这将是一个很好的做法(在这个例子的目的)把逻辑模型,然后在视图刚刚访问喜欢的结果:
@Model.Message
如果我会阅读更多的章节,我会得到答案。我很不耐烦。 “ ”视图包含向用户显示模型元素所需的逻辑,仅此而已。“ 感谢大家的反馈 –
谁拥有这些权利,可以将此问题标记为已关闭/已回答/已删除 –