2010-08-10 149 views
2

我想获得在ASP.NET开始,但我有几个问题:问题关于ASP.NET

  1. 如何C#和ASP.NET有关?
  2. 是不是真的,我不能完全控制输出,不像PHP和Python?
  3. 创建与.NET 2.0,3.5和4.0兼容的代码有多容易?

问题补充:

  • 我听说ASP.NET页面都被编译。这就是为什么我使用C#或VB.NET没有区别?我只需要一些可以编译.NET平台的东西?
  • 我可以在我的页面中混合使用VB.NET和C#吗?
  • 回答

    3
    1. C#是一种编程语言,ASP.Net是一种用于创建Web应用程序的技术。 ASP.Net应用程序可以用C#和VB.Net语言编写(和maby IronPython,但我不确定)。
    2. 如果您使用的是asp.net控件,您完全无法控制输出,那么会根据控件的实现情况呈现一些HTML(取决于控件的实现)
    3. 您可以使用一切方式编写所有内容。 Net 2.0,它将与下一个.Net版本兼容:)但据我所知,.NET 3.0和3.5中的CLR只有很小的变化,.NET 4.0有更多的变化。

    问题补充: 我想你想知道everyting是在这里:http://msdn.microsoft.com/en-us/library/ms178466.aspx:用户

    为了让应用程序代码 服务请求,ASP.NET 首先必须将代码编译成一个 或更多的组件。程序集是 文件,其文件名为 扩展名为.dll。您可以使用许多不同的语言编写ASP.NET 代码,如Visual Basic,C#,J#等 。 当代码被编译时,它被翻译成与语言无关的 和与CPU无关的表示 被称为Microsoft中间语言 (MSIL)的 。在运行时,MSIL在.NET Framework的 上下文中运行,该运行应用程序的 计算机上的处理器将该MSIL转换为CPU特定的 指令。

    多语言支持在ASP.NET 2.0中,你可以使用不同的 语言,如在同一个应用程序,因为 ASP.NET会创建多个 组件,每一个语言Visual Basic和C# 。对于存储在App_Code文件夹中的 代码, ,您可以为每个 语言指定一个子文件夹。有关 App_Code文件夹的更多信息,请参阅ASP.NET Web项目中的共享代码 文件夹。

    +1

    对于#2,您始终可以创建一个HTTP处理程序类,使您可以完全控制输出的字节级别。 – David 2010-08-10 21:23:14

    +1

    我不认为人们使用服务器控件来做到这一点。你总是可以在没有控制的情况下编写asp.net应用程序,但是这么做的意义何在? – Jarek 2010-08-10 21:25:51

    +1

    @David - 或使用ASP.Net MVC :) – Moo 2010-08-10 21:25:58

    1

    1)C#是您可以在其中为ASP.NET网站开发代码隐藏的语言之一。 VB.net是另一个。

    2)“输出”将在Web浏览器中查看,因此渲染依赖于浏览器。

    3)的代码,在C#或VB.Net将与它在其中被开发和许多代码在2.0可以很容易地移植在.NET框架相兼容,以3.5 +

    http://en.wikipedia.org/wiki/ASP.NET

    0
    1. ASP.Net是我所说的技术栈。它是提供构建网站的API和框架的所有零碎(类)。为了构建这些网站,我们必须实现功能 - 网站中的所有不同页面等 - 并且我们可以使用任何针对.Net Framework的语言来实现该功能。 C#就是其中的一种语言。

    2. 您完全可以完全控制输出。最低限度,您可以简单地将字节输出到响应流。这就像它变得光秃秃的一样。使用ASP.Net MVC,默认情况下几乎可以完全控制输出。使用ASP.Net中的WebForms,大部分输出都是由WebForms控件生成的,我会说输出在封面下面是“丑陋的”。

    3. .Net Framework具有保持向后兼容性的历史。任何为.Net 2.0编写的东西都可以在任何更新的版本下运行。即使是针对v3.5编写的代码通常也会在2.0 Framework上运行 - 3.5中添加的许多功能都是编译器功能 - 它们只需要使用较新的版本进行编译,然后就可以在旧版2.0 Framework上运行。

    0
    1. 我认为ASP.net作为工具包,其在配合使用的编程语言(如C#或VB.net)。它是特定于Web开发的工具包。

    2. 您可以拥有尽可能少或尽可能多的控制。 ASP.net提供的控件交易控制简单,它们基本上生成标记。您也可以通过编程来完成所有任务,类似于PHP。

    3. 像上面提到的,.net是向后兼容的,所以如果你编程2.0,它将与以下版本兼容。也就是说,你通常可以控制你的版本,而后来的版本具有更好的功能。