加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-15 23:00:50 所属栏目:asp.Net 来源:网络整理
导读:我现在已经完成了使用ASP.NET MVC的第一个Web应用程序,总体来说,我还没有抓住为什么这样得到所有的赞誉和荣耀.也许我很顽固我知道什么使MVC伟大的是表现层与业务对象或数据层之间的分离以及无状态操作.我也知道,当你使用这个视图时,看起来代码的可读性差(见
我现在已经完成了使用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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读