欢迎光临
我们一直在努力

在葉面中動態的添加控件-ASP教程,组件开发

建站超值云服务器,限时71元/月

在實際的開發過程中,經常需要根据實際需要動態的加載一些服務器控件或用戶控件,一般又分為靜態和動態加載兩種.下面主要是講如何動態加載控件,在葉面中動態加載控件經常用placeholder控件作為一個容器來裝載這些動態加載的控件.這個例子是當點”btnaddcontrol”來添加一個新控件

sub btnaddcontrol_click(sender as object,e as eventargs)

dim txtbox as textbox = new textbox

先清除placeholder中的所有控制項再將生成的textbox控件加到placeholder控件中

placeholder1.controls.clear()

placeholder1.controls.add(txtbox) 這樣基本上就已經有了一個textbox控件了,當點“btnaddcontrol“時就可以看到有個textbox!

還可以定義加載的textbox的各种屬性(注意要先添加控件,再設置它的屬性)

txtbox.id=“mytextbox“

txtbox.backcolor=system.drawing.color.lightgreen

txtbox.text=“this is a textbox!“

viewstate(“txtboxcontrol“)=true

end sub

這樣就會在點按鈕的時候動態加載一個textbox控件,但是這樣會有一個問題:就是在刷新葉面的時候這個textbox又會不見.這是因為動態加載的控件不會在葉面上自動保存他的viewstate狀態,要想不出項這种問題,就必須在page_load()事件中實現,具体如下:

sub page_load(sender as object,e as eventargs)

判斷viewstate中是否存在先前生成的控件的viewstate,存在則重新生成控件並自動加載它先前的viewstate狀態

if viewstate(”txtboxcontrol”) <> nothing then

dim txtbox as textbox=new textbox

placeholder1.controls.add(txtbox)

txtbox.id=”mytextbox”

end if

end sub

動態加載用戶控件是一樣的方法(placeholder1.controls.add(”header.ascx”)

————————————————————————

第一次寫文章,有點亂,還望指正!

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 在葉面中動態的添加控件-ASP教程,组件开发
分享到: 更多 (0)

相关推荐

  • 暂无文章