2012-01-18 22 views
1

我看到一個ASP.NET應用程序,在URL中說:人們如何使用html文件名在URL中創建ASP.NET頁面?

http://xxxxxxxxx/FILENAME.html?xxxx=xxx

爲什麼它是HTML文件?但不是aspx文件?他們是如何做到的呢?

我從我的經理那裏聽說他是外包的ASP.NET項目。

有時我看到人們用自己的網頁在的.html結束得,但很明顯,動態生成...

+0

在.NET中,您不需要*使用網絡表單(ASPX)。您可以使用添加對話框簡單地將HTML頁面添加到項目中。 – 2012-01-18 16:01:30

+0

hm?所以我可以在我的項目的HTML文件中創建WebForm,AJAX?但是,代碼隱藏在哪裏呢?而不是IIS瞭解這是擴展名的腳本文件? – 2012-01-18 16:02:05

+0

如果你不需要背後的代碼,你所需要的只是純靜態HTML,那麼就不需要擁有一個ASP頁面的開銷,最終所有的aspx頁面都包含了.NET運行時可以理解的標記,然後生成HTML爲你。例如,一個ASP標籤只是將一個span元素寫入源代碼中。 – 2012-01-18 16:06:41

回答

1

.html結尾的文件是可選的。這些是沒有任何代碼隱藏的靜態HTML頁面,可以作爲任何Web應用程序的一部分。它們不被服務器解析和編譯,而是作爲舊的預定義HTML發送。

您還可以配置Web服務器,以便通過ASP.net渲染引擎路由具有不同結尾的請求。通過這種方式,您可以保持廣泛認可的結局.html並且仍然具有動態頁面生成功能。

+0

但我看到的頁面是動態顯示客戶端信息...所以不應該是靜態的? – 2012-01-18 16:07:21

+0

我編輯了我的答案,見第二段。 – 2012-01-18 16:08:53

0

文件的擴展名是不一定綁在執行引擎。你可以讓ASP.NET進程的.aspx或.html,.htm和.bob,.foobar,的CSS等

有多種方法可以做到這一點:

  1. 在IIS管理器,將.html的文件擴展名映射設置爲指向ASP.NET。如果你使用MVC,你可以通過路由處理。

  2. 使用重寫引擎映射任何帶有.htm *擴展爲.aspx

可能有其他的方法,但這些是最直接的。

此外,.html擴展名並不意味着該文件是動態生成的。

0

您可以使用URL重寫。有很多不同的重寫器是最流行的URL重寫模塊(http://www.iis.net/download/urlrewrite)和內置的(在ASP.NET 4.0中)路由引擎(http://msdn.microsoft.com/en-us/library/cc668201.aspx)。

URL重寫模塊是您的應用程序的外部,它將傳入的URL轉換爲常規.aspx URL。您有責任使用.html生成鏈接。如果您將其添加到現有的應用程序中,這很好。

內置路由可以基於路由生成URL,並且在Global.asax(通常)中用代碼進行配置。

0

右鍵單擊該項目。 添加新的... 選擇HTML文件類型。

有些人更喜歡使用不同的擴展名(甚至根本沒有)來隱藏用於開發網站的技術。

請記住,您將不得不正確配置IIS以讓.net引擎處理該問題。html文件類型。

相關問題