2010-08-10 111 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,它將與以下版本兼容。也就是說,你通常可以控制你的版本,而後來的版本具有更好的功能。