2010-06-21 75 views
1

是否可以創建自定義控件,該控件從System.Web.UI.WebControls.Login繼承,並更改其佈局並添加其他控件,如DropDownList。我已經嘗試過通過重寫Render Contents方法來做到這一點的各種方法,但是每次我必須重新創建已經存在於主Login控件中的控件。是否有可能以某種方式獲得對父類中的控件的引用,然後重寫Render Contents方法以呈現控件如何需要它們?在自定義控件中更改登錄控件佈局

我想盡可能地使用Login控件中已經存在的控件和功能,只是改變佈局並添加一個額外的DropDownList控件。

回答

2

正確的做法是將轉換爲模板並根據需要修改。我們不使用內置的登錄控制,我們使用純文本框並使用代碼執行身份驗證。

單擊Login Control SmartTag上的CONVERT TO TEMPLATE選項將其轉換爲可編輯模板。

alt text http://www.brainbell.com/tutorials/ASP/images/g10GU09.png

+0

我沒有看創建實現了Itemplate但這是否意味着我必須代碼通過手,即所有需要的字段驗證等方面的登錄功能模板類? http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.login.aspx 這一切都必須在自定義控件中完成,而不是在Login.aspx頁面的UI中完成 – Cragly 2010-06-21 12:56:31

+0

我不建議只爲了添加DropDown而編寫自定義控件,如果我能夠正確地獲取您的內容。只需將圖片中提到的Login控件拖放到您的網頁上並將其轉換爲模板即可。 – 2010-06-21 13:00:48

+0

感謝您的迴應。然而,這個控件將比另外一個DropDownList做得更多。它將根據多個數據源及其在多個項目中需要的身份驗證用戶,從而創建控件。我沒有在原始問題中解釋這個問題,因爲我想盡量保持問題的簡單性,但儘可能具體。 – Cragly 2010-06-21 17:56:59