选择哪种ASP.NET编程模型?

时间:2010-12-03 03:47:18

标签: asp.net-mvc webforms

摘要

我是一名经验丰富的程序员,在使用不同编程语言的Windows窗体开发方面拥有多年经验,如本问题所述:

Will learning WPF improve my skills in ASP.NET?

ASP.NET或任何基于Web的编程语言对我来说都不太适合探索或使用。虽然我不熟悉基于Web的技术,但我对这些技术的好奇心在增长和增长。除此之外,我了解基于Web的编程需要的市场。我想将我的知识和经验扩展到网络,虽然只是知道我在说什么而不是推测任何东西。

我作为信息和流程系统开发人员的经验使我能够理解概念和一些基础知识。我知道基于Web的应用程序是无状态的,例如,我需要使用session或viewstate变量来保存用户正在使用的信息,否则我会松开它们。

我也理解基于Ajax的控件的基础知识,例如UpdatePanel,它只是更新或刷新UI页面的一部分,而不是再次通过连接重新加载所有内容。

我可以让CSS为您的页面部分定义样式,并且您可以通过更改CSS引用来彻底改变您的网站方面。

事实上,我也知道我不太懂的主页。

编程模型

我刚观看了关于为我/我的应用选择合适型号的视频:
Choosing the Right Programming Model

如果看起来像ASP.NET MVC,我认为这是最好的方法,对于那些熟悉Web应用程序的资深Web开发人员来说更是如此。

我在Windows窗体中使用了很多DataBinding,而WebForms似乎更像是我在寻找ASP.NET,直到他们说MVC允许单元测试,TDD和敏捷方法,我坚持,作为经过认证的专业Scrum Master。

对于我说编程模型更自然的事情,我有点混淆。

问题

  1. 考虑到我的知识基础和经验,您认为我会更熟悉哪种编程模型?

  2. 选择其中一个让我能够熟悉ASP.NET,有一天会尝试另一个模型吗?

  3. 在关于选择编程模型的视频中,我都是在ASP.NET上,我在使用Web窗体时听说过DataBinding,但在MVC模型中没有提到DataBinding。 MVC中是否有任何可能的DataBinding?

  4. 最后

    我对所有这些ASP.NET内容感到非常困惑。

3 个答案:

答案 0 :(得分:6)

这是主观的,它可能会被关闭,无论我们给出什么样的答案,它都可能会得到挫折,但也可能会上升,但是......

鉴于您对WinForms开发的熟悉,如果您希望尽快启动并运行,我会说要转到WebForms。即使您最终切换到MVC,在您了解Web开发的细节时,您最初会更熟悉WebForms,因此对您的系统来说不会太令人震惊。

正因为如此,我不会因为其他人会对此有所偏见,我意识到MVC有许多优点,但我个人认为,我认为进入“哪个是愚蠢的”是更好的“讨论。我给出了这个答案,因为他问(释义)“这对我来说更容易掌握并开始”。

修改 我想我只讨论了上面的前两个问题......

对于第三种,MVC中的数据绑定有点不同,但并不是那么多。引擎盖下的数据访问是相同的,但您可以更严格地控​​制输出。

请参阅另一篇文章,快速了解如何解释如何进行简单的“绑定”。这个问题的提问者不太熟悉MVC,并且询问如何在MVC的下拉列表中进行数据绑定。给出的答案很好,并指出了一篇好文章。

ASP.Net MVC framework and databinding

答案 1 :(得分:6)

使用asp.net mvc。

它实际上会改进您编写Windows应用程序的方式。

尝试找到与您习惯的最相似的范例是错误的。它几乎更好地拥有一个完全不同的一个,因为它可以避免被类似但不完全相同的东西弄糊涂。

基本上,webforms是微软的尝试,以便更容易做出来自Windows世界的网络内容。但它类似于来自帆船背景并开发出一种“汽车”,你可以控制它就像帆船一样。你最好学习如何驾驶汽车,在必须开车时开车,在必须航行时开航。

所以你必须付出努力来理解网络内容。它不是太难,它可能只需要一点时间。但是有大量的知识资源可供借鉴。

基本上来了网络开发,你的杯子空着,准备学习:)

答案 2 :(得分:3)

我使用WebForms而我来自VB6。当我不得不了解页面循环时,一开始很奇怪。