gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 22:49:12 24 4
gpt4 key购买 nike

我现在已经使用 ASP.NET MVC 完成了我的第一个 web 应用程序,总的来说,我仍然不明白为什么这会得到所有的赞美和荣耀。可能我比较固执。我知道 MVC 的伟大之处在于它强制分离表示层和业务对象或数据层以及它的无状态操作。我也知道,当您使用 View 时,代码的可读性似乎较差(请参阅下面的示例)。

所以我想我的问题是...如果分离是问题,为什么不分开。

Web 表单查看代码:

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

背后的 Web 表单代码:
//CODE BEHIND
this.lblPageHeader.Text = myObject.Header;

MVC 代码 View :
//UI
<h2><%= Html.Encode(Model.PageTitle) %></h2>

MVC Controller 代码:
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>

(在类型化 View 的帮助下是可能的)

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

我认为这完全取决于您如何使用它。如果您对经典的 ASP.NET 更满意,那么坚持使用它可能是一个更好的主意。此外,您还可以从 ASP.NET MVC 世界中获取好的东西(如 UI 和逻辑分离)并将其带到经典的 ASP.NET 中。

关于ASP.NET MVC > ASP.NET WebForms,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/722637/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com