5

當然,他們聲明以「< asp:」開頭的事實足以推斷他們是服務器控件?還是隻是爲了完整而包含(例如,它們看起來類似於服務器控制聲明< input runat =「server」)。還是有一些特殊的原因?爲什麼ASP.Net服務器控件聲明需要runat =「server」屬性?

編譯器告訴我,偶然發生錯誤時,我錯過了它。有點像「var」背後的想法 - 如果編譯器知道它是什麼。爲什麼麻煩期待我說出它呢?

+0

檢查出來http://stackoverflow.com/questions/304290/asp-net-why-runatserver – Kaz 2009-07-17 14:56:04

回答

8

this forum thread摘自:

Internet Explorer支持DHTML 行爲。

[The asp:control syntax]並不意味着服務器 控制。您可以創建具有名稱空間的客戶端DHTML 組件,並且將在客戶端計算機上運行 。另外,在XHTML中允許使用 命名空間,並且在技術上,您可以使用asp命名空間 作爲客戶端上的其他內容,如果您希望使用 。 Runat =「server」可以防止 命名空間發生衝突。如果元素沒有 runat =「server」屬性,則將 不變地發送到客戶端瀏覽器。 因此,您也可以在ASP.NET頁面中使用HTML組件 (HTCs)。

看一看這裏

http://msdn.microsoft.com/workshop/author/behaviors/howto/creating.asp http://msdn.microsoft.com/workshop/author/behaviors/overview.asp

邁克·辛克爾也has a blog post探索爲什麼RUNAT =服務器是必要的。

+0

我會關閉我的問題作爲一個副本(也見下文),但它不會讓我。有任何想法嗎? – Ray 2009-07-17 15:02:33

相關問題