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

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


咨詢
建站咨詢
