ASP.NET学习路径

时间:2011-10-05 08:13:45

标签: c# asp.net asp.net-mvc-3

我想向有经验的ASP.NET开发人员询问如何攀登ASP.NET的学习曲线。

我是一位经验丰富的C ++和C#开发人员,没有Web应用程序经验。

我发现ASP.NET MVC和ASP.NET是两种不同的技术。我只想问:

  1. 这两种技术是否会共存或MVC将取而代之 ASP.NET?
  2. 如果我想学习ASP.NET MVC。我是否需要学习ASP.NET作为先决条件?
  3. 你能推荐一些学习资源吗?书?视频?没有付费的微软培训:(
  4. 非常感谢

5 个答案:

答案 0 :(得分:9)

首先,ASP.NET是请求/响应管道。这意味着您可以访问请求和响应流以及一些条款,如会话,缓存,安全性等。

除此之外,还有3个框架负责生成HTML。第一个和最早的称为ASP.NET Web窗体。因为它是唯一一个有时被称为ASP.NET的东西,但这在当前状态下是不正确的。 ASP.NET MVC是第二个,还有第三个称为ASP.NET Web Pages。所有这三个共享相同的核心ASP.NET请求/响应管道和Session,Cache的API ......不同的是它们如何生成HTML。

您可以查看我对此问题的回答以获取更多信息。 Asp.Net Web Forms and Asp.Net Web Pages

回答你的具体问题 - 没有Web表格不会消失。很多人都使用它,MS正在发布新版本。

对于具有桌面背景的人来说,Web窗体非常适合,因为它使用桌面开发人员熟悉的控件模型,并且还具有模拟状态的功能。它还需要较少的HTML,JS,CSS知识。 ASP.NET MVC恰恰相反。它为您提供了很多控制权,但需要大量关于网络的知识。

我个人更喜欢Web Forms到MVC,原因有多种,我不会在这里列出,但即使Web Forms支持者(尤其是我)也会承认Web Forms是了解Web的非常糟糕的方式,因为它抽象了很多东西的。这为您提供了生产力,安全性等,但如果您不知道底层框架是如何工作的,那么可能会导致抽象漏洞的情况,并且很容易跳过学习细节,因为您知道某些东西正常工作......直到它破坏然后你不知道从哪里开始。

最终选择是你的,但如果你从Web表单开始,一定要了解HTTP动词,cookie,原始响应流,http标题,html表单/提交模型内联css vs单独的文件和javascript出自Web的上下文表单并确保您了解Web表单如何自动化这些。

答案 1 :(得分:3)

  

1)这两种技术是否共存或MVC将取代ASP.NET?

今天微软的官方立场是这两种技术将共存。 ASP.NET MVC不会取代传统的ASP.NET。至少微软将继续在ASP.NET中发布新功能。

  

2)如果我想学习ASP.NET MVC。我是否需要学习ASP.NET作为先决条件?

不一定,但如果你学习它会更好,因为ASP.NET MVC基于ASP.NET内核,它将帮助你更好地理解底层技术。

  

3)你能推荐一些学习资源吗?书?视频?没有付费的微软培训:(

http://asp.net/mvc是一个好的开始。

答案 2 :(得分:2)

不能说一个人是否会将另一个人排除在外。 但最容易学习的是asp.net MVC。 Pro ASP.NET MVC 3 Framework

这是一本值得学习的好书。

答案 3 :(得分:2)

答案 4 :(得分:1)

Darin在1和3上给出了很好的答案,但我不同意2:

  

2)如果我想学习ASP.NET MVC。我是否需要学习ASP.NET作为先决条件?

没有。 ASP.NET WebForms(通常仅称为ASP.NET)具有非常不同的范例。

虽然ASP.NET WebForms最好尽量隐藏所有的Web(如POST与GET,HTML,如何维护状态),但ASP.NET MVC依赖于了解和理解相同的东西。了解WebForms的ServerControls和ViewState几乎没什么帮助。

当然,在WebForms和MVC中都会遇到ASP.NET堆栈的部分内容。两个地方都使用了不同的状态机制(会话,应用程序,cookie等),服务器,Reguest和Response对象,缓存机制,jQuery等。