Hi IamAzhar,
Check this example. Now please take its reference and correct your code.
When we set the ChildrenAsTriggers to false and UpdateMode to Conditional we need to define triggers explicitly for the UpdatePanel controls.
We can access the these dynamic controls through the FindControl() method of the Panel.
HTML
<asp:ScriptManager runat="server" />
<asp:Panel runat="server" ID="pnlDetails">
</asp:Panel>
Code
C#
protected void Page_Load(object sender, EventArgs e)
{
TextBox textBox = new TextBox();
textBox.ID = "txtName";
Label label = new Label();
label.ID = "lblName";
Button btn = new Button();
btn.ID = "btnSave";
btn.Text = "Save";
btn.Click += new EventHandler(btnSave_Click);
UpdatePanel updatePanel = new UpdatePanel();
updatePanel.ChildrenAsTriggers = false;
updatePanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
updatePanel.ContentTemplateContainer.Controls.Add(textBox);
updatePanel.ContentTemplateContainer.Controls.Add(btn);
updatePanel.ContentTemplateContainer.Controls.Add(new Literal { Text = "<br/>" });
updatePanel.ContentTemplateContainer.Controls.Add(label);
AsyncPostBackTrigger trig = new AsyncPostBackTrigger();
trig.ControlID = btn.ID;
trig.EventName = "Click";
updatePanel.Triggers.Add(trig);
pnlDetails.Controls.Add(updatePanel);
}
protected void btnSave_Click(object sender, EventArgs e)
{
(pnlDetails.FindControl("lblName") as Label).Text = (pnlDetails.FindControl("txtName") as TextBox).Text;
}
VB.Net
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
Dim textBox As TextBox = New TextBox()
textBox.ID = "txtName"
Dim label As Label = New Label()
label.ID = "lblName"
Dim btn As Button = New Button()
btn.ID = "btnSave"
btn.Text = "Save"
AddHandler btn.Click, AddressOf btnSave_Click
Dim updatePanel As UpdatePanel = New UpdatePanel()
updatePanel.ChildrenAsTriggers = False
updatePanel.UpdateMode = UpdatePanelUpdateMode.Conditional
updatePanel.ContentTemplateContainer.Controls.Add(textBox)
updatePanel.ContentTemplateContainer.Controls.Add(btn)
updatePanel.ContentTemplateContainer.Controls.Add(New Literal With {.Text = "<br/>"})
updatePanel.ContentTemplateContainer.Controls.Add(label)
Dim trig As AsyncPostBackTrigger = New AsyncPostBackTrigger()
trig.ControlID = btn.ID
trig.EventName = "Click"
updatePanel.Triggers.Add(trig)
pnlDetails.Controls.Add(updatePanel)
End Sub
Protected Sub btnSave_Click(ByVal sender As Object, ByVal e As EventArgs)
TryCast(pnlDetails.FindControl("lblName"), Label).Text = (TryCast(pnlDetails.FindControl("txtName"), TextBox)).Text
End Sub
Screenshot