在页面上添加另一个控件,然后在占位符上放开一个旧控件 [英] add aother control on my page then i looses old one control on place holder

查看:85
本文介绍了在页面上添加另一个控件,然后在占位符上放开一个旧控件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我的代码,


公共类tempformmanager
继承System.Web.UI.Page


受保护的子Page_Load(以对象的ByBy发件人身份,以System.EventArgs的ByVal e身份)处理Me.Load


结束子

受保护的子Button1_Click(ByVal发送者作为对象,ByVal e作为EventArgs)处理Button1.Click
昏暗的btn1作为新的System.Web.UI.WebControls.Button
btn1.Text =这是按钮"
PlaceHolder1.Controls.Add(btn1)


结束子

受保护的子Button2_Click(ByVal发送者作为对象,ByVal e作为EventArgs)处理Button2.Click
PlaceHolder1.Visible = True

昏暗的radio1作为新的System.Web.UI.WebControls.RadioButton
radio1.Text =单选按钮"
PlaceHolder2.Controls.Add(radio1)
结束子

受保护的子Button3_Click(ByVal发送者作为对象,ByVal e作为EventArgs)处理Button3.Click
昏暗的chkbox1作为新的System.Web.UI.WebControls.CheckBox
chkbox1.Text =复选框"
PlaceHolder3.Controls.Add(chkbox1)
结束子

受保护的子Button4_Click(ByVal发送者作为对象,ByVal e作为EventArgs)处理Button4.Click
将txtbox1变暗为新的System.Web.UI.WebControls.TextBox
PlaceHolder4.Controls.Add(txtbox1)
结束子

受保护的子Button5_Click(ByVal发送者作为对象,ByVal e作为EventArgs)处理Button5.Click
昏暗的lbl1作为新的System.Web.UI.WebControls.Label
lbl1.Text =这是标签"
PlaceHolder5.Controls.Add(lbl1)
结束子

私有子tempformmanager_PreInit(ByVal发送者作为对象,ByVal e作为System.EventArgs)处理Me.PreInit
PlaceHolder1.Visible = True

结束子
结束类

解决方案

这是因为每当创建动态控件时,它们都会在回发中丢失...您必须在preinit事件中重新创建它们.

this is my code,


Public Class tempformmanager
Inherits System.Web.UI.Page


Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load


End Sub

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
Dim btn1 As New System.Web.UI.WebControls.Button
btn1.Text = "this is button"
PlaceHolder1.Controls.Add(btn1)


End Sub

Protected Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button2.Click
PlaceHolder1.Visible = True

Dim radio1 As New System.Web.UI.WebControls.RadioButton
radio1.Text = " radio button"
PlaceHolder2.Controls.Add(radio1)
End Sub

Protected Sub Button3_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button3.Click
Dim chkbox1 As New System.Web.UI.WebControls.CheckBox
chkbox1.Text = " checkbox "
PlaceHolder3.Controls.Add(chkbox1)
End Sub

Protected Sub Button4_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button4.Click
Dim txtbox1 As New System.Web.UI.WebControls.TextBox
PlaceHolder4.Controls.Add(txtbox1)
End Sub

Protected Sub Button5_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button5.Click
Dim lbl1 As New System.Web.UI.WebControls.Label
lbl1.Text = "this is label"
PlaceHolder5.Controls.Add(lbl1)
End Sub

Private Sub tempformmanager_PreInit(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreInit
PlaceHolder1.Visible = True

End Sub
End Class

解决方案

This is because whenever you create dynamic control, they are lost on the post back...you have to recreate them on preinit event.


这篇关于在页面上添加另一个控件,然后在占位符上放开一个旧控件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆