爲什麼System.Web.UI.WebControls.HiddenField
繼承System.Web.UI.Control
而不是System.Web.UI.WebControls.WebControl
?這似乎是非常不合邏輯的放置,如果不是網頁中使用隱藏字段這一事實,它的設計原因是什麼?HiddenField不是一個WebControl?
這讓事情變得很煩人的,當你不能做這樣的事情WebControl x = new HiddenField();
爲什麼System.Web.UI.WebControls.HiddenField
繼承System.Web.UI.Control
而不是System.Web.UI.WebControls.WebControl
?這似乎是非常不合邏輯的放置,如果不是網頁中使用隱藏字段這一事實,它的設計原因是什麼?HiddenField不是一個WebControl?
這讓事情變得很煩人的,當你不能做這樣的事情WebControl x = new HiddenField();
UI.Control
和UI.WebControls.WebControl
之間的主要區別在於,WebControl
是爲了作爲具有UI組件的基類。由於隱藏字段從不向用戶顯示任何內容(畢竟隱藏),所以UI.Control
是更合適的基類。
請注意'WebControl'也繼承自'Control' – Magnus
事實上,您不能將'HiddenField'轉換爲'WebControl'。 (是的,我正在重構:]) – Izzy