在页面上添加另一个控件,然后在占位符上放开一个旧控件 [英] add aother control on my page then i looses old one control on place holder
问题描述
这是我的代码,
公共类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屋!