فراخوانی متد Parent Page از User-Control
نویسنده: امیر هاشم زاده
تاریخ: ۱۳۹۲/۱۰/۲۶ ۲۳:۱۵
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
public partial class CustomUserCtrl : System.Web.UI.UserControl
{
private System.Delegate _delWithParam;
private System.Delegate _delNoParam;
// برای فراخوانی متدهایی از صفحه که دارای پارامتر هستند
public Delegate PageMethodWithParamRef
{
set { _delWithParam = value; }
}
// برای فراخوانی متدهایی از صفحه که بدون پارامتر هستند
public Delegate PageMethodWithNoParamRef
{
set { _delNoParam = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
}
protected void BtnMethodWithParam_Click(object sender, System.EventArgs e)
{
//Parameter to a method is being made ready
object[] obj = new object[1];
obj[0] = “Parameter Value” as object;
_delWithParam.DynamicInvoke(obj);
}
protected void BtnMethowWithoutParam_Click(object sender, System.EventArgs e)
{
//Invoke a method with no parameter
_delNoParam.DynamicInvoke();
}
} public partial class _Default : System.Web.UI.Page
{
delegate void DelMethodWithParam(string strParam);
delegate void DelMethodWithoutParam(); protected void Page_Load(object sender, EventArgs e)
{
DelMethodWithParam delParam = new DelMethodWithParam(MethodWithParam);
// عامل صفحه را به عامل عمومی تعریف شده در یوزر کنترل تخصیص میدهیم
this.UserCtrl.PageMethodWithParamRef = delParam;
DelMethodWithoutParam delNoParam = new DelMethodWithoutParam(MethodWithNoParam);
// عامل صفحه را به عامل عمومی تعریف شده در یوزر کنترل تخصیص میدهیم
this.UserCtrl.PageMethodWithNoParamRef = delNoParam;
} // متد دارای پارامتری که قرار است در کنترل فراخوانی شود
private void MethodWithParam(string strParam)
{
Response.Write(“It has parameter: ” + strParam);
}
// متد بدون پارامتری که قرار است در کنترل فراخوانی شود
private void MethodWithNoParam()
{
Response.Write(“It has no parameter.”);
} public partial class _Default : System.Web.UI.Page
{
delegate void DelMethodWithParam(string strParam);
delegate void DelMethodWithoutParam();
protected void Page_Load(object sender, EventArgs e)
{
DelMethodWithParam delParam = new DelMethodWithParam(MethodWithParam);
// عامل صفحه را به عامل عمومی تعریف شده در یوزر کنترل تخصیص میدهیم
this.UserCtrl.PageMethodWithParamRef = delParam;
DelMethodWithoutParam delNoParam = new DelMethodWithoutParam(MethodWithNoParam);
// عامل صفحه را به عامل عمومی تعریف شده در یوزر کنترل تخصیص میدهیم
this.UserCtrl.PageMethodWithNoParamRef = delNoParam;
}
// متد دارای پارامتری که قرار است در کنترل فراخوانی شود
private void MethodWithParam(string strParam)
{
Response.Write(“It has parameter: ” + strParam);
}
// متد بدون پارامتری که قرار است در کنترل فراخوانی شود
private void MethodWithNoParam()
{
Response.Write(“It has no parameter.”);
}
}