I\'ve a user control registered in an aspx page
On click event of a button in the user control, how do i call a method which is there in the parent page\'s code
Follow good and appropriate approach,
Use event and delegate concept make delegate as same signature as your method in parent page and then assign parent methad to it in parent page load event then call this delegate through event in user control.
code sample and link is given below.
//Parent Page aspx.cs part
public partial class getproductdetails : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
ucPrompt.checkIfExist += new uc_prompt.customHandler(MyParentMethod);
}
bool MyParentMethod(object sender)
{
//Do Work
}
}
//User control parts
public partial class uc_prompt : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
}
public delegate bool customHandler(object sender);
public event customHandler checkIfExist;
protected void btnYes_Click(object sender, EventArgs e)
{
checkIfExist(sender);
}
}
Read more details how it works (Reference) :-
Calling a method of parent page from user control