回发后UserControl消失 [英] UserControl Disappear after postback

查看:106
本文介绍了回发后UserControl消失的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,

我正在动态加载用户控件,效果很好,但是只要我单击用户控件上的按钮,它就会消失,这是我的代码:

昏暗的meetingtypeControl作为控件= LoadControl(〜/Modules/CouncilAndGeneralAffairs/WebUserControls/Settings-CouncilMeetingType.ascx")
昏暗的subMeetingtypeControl作为控件= LoadControl(〜/Modules/CouncilAndGeneralAffairs/WebUserControls/Settings-SubCouncilMeetingSetup.ascx")

受保护的子MeetingTypeButton_Click(ByVal发送者为对象,ByVal e为System.EventArgs)处理MeetingTypeButton.Click
MeetingSetupPlaceHolder.Controls.Clear()
MeetingtypeControl.ID ="UC1"
MeetingSetupPlaceHolder.Controls.Add(meetingtypeControl)
结束子
受保护的Sub subMeetingTypeButton_Click(ByVal发送者作为对象,ByVal e作为System.EventArgs)处理subMeetingTypeButton.Click
MeetingSetupPlaceHolder.Controls.Clear()
subMeetingtypeControl.ID ="UC2"
MeetingSetupPlaceHolder.Controls.Add(subMeetingtypeControl)
结束子
受保护的子Page_Load(以对象的ByBy发件人身份,以System.EventArgs的ByVal e身份)处理Me.Load
如果Page.IsPostBack = False,则
昏暗的meetingtypeControl作为控件= LoadControl(〜/Modules/CouncilAndGeneralAffairs/WebUserControls/Settings-CouncilMeetingType.ascx")
MeetingSetupPlaceHolder.Controls.Add(meetingtypeControl)
如果结束
结束苏
b

Hi all,

I am loading usercontrol dynamically, which works fine, but anytime i click a button on the usercontrol it disappears below are my codes:

Dim meetingtypeControl As Control = LoadControl("~/Modules/CouncilAndGeneralAffairs/WebUserControls/Settings-CouncilMeetingType.ascx")
Dim subMeetingtypeControl As Control = LoadControl("~/Modules/CouncilAndGeneralAffairs/WebUserControls/Settings-SubCouncilMeetingSetup.ascx")

Protected Sub meetingTypeButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles meetingTypeButton.Click
meetingSetupPlaceHolder.Controls.Clear()
meetingtypeControl.ID = "UC1"
meetingSetupPlaceHolder.Controls.Add(meetingtypeControl)
End Sub
Protected Sub subMeetingTypeButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles subMeetingTypeButton.Click
meetingSetupPlaceHolder.Controls.Clear()
subMeetingtypeControl.ID = "UC2"
meetingSetupPlaceHolder.Controls.Add(subMeetingtypeControl)
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Page.IsPostBack = False Then
Dim meetingtypeControl As Control = LoadControl("~/Modules/CouncilAndGeneralAffairs/WebUserControls/Settings-CouncilMeetingType.ascx")
meetingSetupPlaceHolder.Controls.Add(meetingtypeControl)
End If
End Su
b

推荐答案

请替换以下代码.

Please replace below code.

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

Dim meetingtypeControl As Control = LoadControl("~/Modules/CouncilAndGeneralAffairs/WebUserControls/Settings-CouncilMeetingType.ascx")
meetingSetupPlaceHolder.Controls.Add(meetingtypeControl)

End Sub





Please Vote if this helped you then.


Every PostBack is a new Request.You need to add the Control with each PostBack


添加控件



private void Page_Load(object sender, EventArgs e)
{
   // Dynamically load the control here
   if (!Page.IsPostBack)
   {
    // Do dynamic initialization of controls 
       which need such initialization only once
   }
}



您还可以参考以下讨论: http://forums.asp.net/t/1186195.aspx [ ^ ]



you can also refer this discussion: http://forums.asp.net/t/1186195.aspx[^]


这篇关于回发后UserControl消失的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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