新聞中心
ASP.NET控件開發(fā)之修改ASP.NET服務器控件方法是什么呢?下面就向你介紹修改服務器控件的ID和Name的方法:

創(chuàng)新互聯(lián)建站堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網(wǎng)站制作、網(wǎng)站建設、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的龍湖網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!
產(chǎn)生的ID和Name可以通過幾個方法重載可以去除
ASP.NET控件開發(fā)之修改ASP.NET服務器控件的ID和Name的方法1.
使用HTML
這種方法很好,符合原來html的標簽,如htmlLink,則不需要name屬性,表單提交需要name屬性
第一部重寫Control類的ClientID屬性.
此屬性是只讀的
- public override string ClientID
- {
- get
- {
- return this.ID;
- }
- }
這樣的話,控件返回的ID就不會很復雜了.
ASP.NET控件開發(fā)之修改ASP.NET服務器控件的ID和Name的方法2.
通過表單
重寫HtmlInputControl類的Name屬性就可以通過了.
以上兩點都可以通過System.Web.UI.Adapters.ControlAdapter來實現(xiàn)
ASP.NET控件開發(fā)之修改ASP.NET服務器控件的ID和Name的方法3.
通過Web服務器控件
其id和name輸出是在AddAttributesToRender方法中,方法會在RenderBeginTag方法中調(diào)用.
假設我們要通過System.Web.UI.WebControls.Adapters.WebControlAdapter來實現(xiàn)的話,重寫RenderBeginTag方法的話,無法得到控件的TagName,當然如果重新制作控件就可以把TagName屬性暴露出來,這樣便可以了
會導致RenderEndTag無法輸出,難道重寫RenderEndTag?,然后一個一個控件的類型判斷.或者就真這么做,工作量會比較大些.無法取到TagName比較遺憾.
另外的方法就是重寫AddAttributesToRender方法了.不過會犧牲一些功能.
還是推薦使用HTML控件配合System.Web.UI.Adapters.ControlAdapter的使用,就可以拋棄討厭的嵌套代碼了,大家可以配合MVC框架使用.
ASP.NET控件開發(fā)之修改ASP.NET服務器控件方法就向你介紹到這里,希望對你有所幫助。
文章題目:ASP.NET控件開發(fā)之修改服務器控件方法淺析
文章網(wǎng)址:http://www.5511xx.com/article/djjeccc.html


咨詢
建站咨詢
