2010-06-21 74 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