2011-12-16 24 views
2

我對於關於HTML5代碼生成的問題感到有點失落,儘管我在研究中付出了一些努力,但我並不覺得更聰明。ASP.NET如何生成HTML5代碼?

我使用VS2010創建ASP.NET頁面,我知道有一個(非官方)「Web Standards Update」VS2010 SP1。使用此更新,我可以將ASPX編輯器窗口中「用於驗證的目標架構」設置更改爲HTML5。新的元素/標籤和語義可以通過Intellisense獲得,我可以使用所有新奇的東西來手動編碼。

我不明白的是如何獲得像ASP.NET控件一樣的東西來生成HTML5代碼(它有意義)。這是完全可能的,還是我在這裏完全走錯了方向?只要我使用現有的控件(當頁面傳送到客戶端的瀏覽器時,往往會在後臺生成大量的JavaScript),我就會期望我不必「手動編寫」HTML5。

預先感謝澄清答案

G.

+0

你不能「產生語義HTML5」修改控件的輸出。 「生成語義HTML5」的東西被稱爲程序員。如果一臺機器可以做到這一點,你的解僱 – Raynos

回答

2

某些控件根據特定的用戶代理生成稍微不同的HTML方言。但是,並不是所有人都知道HTML 5,並且沒有特定的屬性來啓用HTML 5代,就像沒有其他屬性來啓用HTML的其他方言一樣。

如果你想生成HTML 5,你可以做的三兩件事之一:

  1. 創建一個新的控件,將覆蓋現有的一個,並且可以直接在任何地方使用它或替換原來用它你應用與標籤映射
  2. 創建一個控制適配器,因爲它的產生
  3. 創建一個自定義控制
+0

謝謝你的建議,這確實有幫助。 – Gorgsenegger

+0

我想添加第四個選項:使用現有的自定義控件。我爲不想將整個項目遷移到MVC的人制作了一個[HTML5輸入和控件]的開源套件(http://sourceforge.net/projects/html5asp/)。這給你在WebForms中使用的語法,在屬性中使用Intellisense和回發。 – ja928

1

你在ASP.NET中所指的控制是什麼就是俗稱的「web表單」。他們基本上是服務器端控件,它們生成將數據回發到服務器所需的JavaScript代碼,在回發之間保持控件的狀態,以及類似的東西。正如您所說,這些控件會向服務器生成太多的代碼和往返數量,因此建議不要使用webforms。

HTML5主要是客戶端,所以它與webforms服務器控件幾乎沒有關係。這是一種與舊的ASP.NET webforms不同的方法。正因爲如此,ASP.NET在其新版本中包含了MVC框架,剃刀引擎,JQuery和其他javascriprt庫。 MVC包含一些幫助程序類和模板,可幫助您生成客戶端代碼以及許多其他功能,以支持支持HTML5的網站。所以,我會建議開始閱讀。 無論如何,現在jQuery完全集成在Visual Studio中,JavaScript編碼並不那麼困難。