微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ASP.NET MVC> ASP.NET WebForms,为什么?

我现在已经完成了使用ASP.NET MVC的第一个Web应用程序,总体来说,我还没有抓住为什么这样得到所有的赞誉和荣耀.也许我很顽固我知道什么使MVC伟大的是表现层与业务对象或数据层之间的分离以及无状态操作.我也知道,当你使用这个视图时,看起来代码的可读性差(见我下面的例子).

所以我猜我的问题是…如果分离是关心,为什么不分开.

Web表单查看代码

//UI
<h2><asp:Label ID="lblPageHeader" runat="server" /></h2>

Web表单代码背后:

//CODE BEHIND
this.lblPageHeader.Text = myObject.Header;

MVC代码视图:

//UI
<h2><%= Html.Encode(Model.PageTitle) %></h2>

MVC控制器代码

index = new Index
{
    PageText = sb.ToString(),PageTitle = "WELCOME"
};
return View(index);

再次,我可能会固执己见,但我在WebForms中真正喜欢的其中一件事就是轻松设置DataSources和Text值等对象属性.看起来这是完全不同的MVC和较少的可读性,这使我想知道长期维护.

编辑
在研究了类型模型后,我认为代码的可读性大大提高.

解决方法

ASP.NET MVC Best Practices,Tips and Tricks

我会写:

<h2><%= Html.Encode(Model.Title) %></h2>

(可以在类型化视图的帮助下)

代替

<h2><%= Html.Encode((MyApp.MyObject)ViewData["PageObject"].Header) %></h2>

我认为这是关于你如何使用它.如果你对经典的ASP.NET感到更加开心,那可能是一个比较好的主意.此外,您还可以从ASP.NET MVC世界(如UI和逻辑分离)中获取好的东西,并将其带入经典的ASP.NET.

原文地址:https://www.jb51.cc/aspnet/249867.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐