Question { 7340 }
how to store the value in textbox using delegates if we have
two user control. the value will be called from one user
control to another user control. Loading and unloading will
be done through delegates.
Answer
first user control
---------------------------
Create an event in the first user control
public delegate void ctrlchanges(object sender,
DelegateArgs e);
public event ctrlchanges ctrlChange;
in the first usercontrols button click
1) set values to DelegateArgs properties id and name
2) then Invoke the delegates
if (ctrlChange != null)
{
ctrlChange(this, args);
}
/*
DelegateArgs is a class having properties to set and get
id and name.
here id and name are set from first user ctrol and get at
second user control
this is to reflect changes in the first control to second
control
*/
second user control
--------------------------
in the seccond user control
write a function to get the DelegateArgs members and set
to textBoxes
public void ChangeDetails(object sender, DelegateArgs
args)
{
txt1.Text = args.Id.ToString();
txt2.Text = args.Name;
}
Aspx.cs
---------------
write the code in the page load
to access function of second user control from first
user control
protected void Page_Load(object sender, EventArgs e)
{
((DelegateCtrl_1)DelegateCtrl_1_1).ctrlChange += new
DelegateCtrl_1.ctrlchanges(((DelegateCtrl_2)
DelegateCtrl_2_1).ChangeDetails);
}
/*
DelegateCtrl_1 is the first user control and its id is
DelegateCtrl_1_1
runat="server" />
*/