xiaoyaoyou - 2009-11-11 9:39:42
要在页面Page_Load之前执行控件的Page_Load,或初始化控件属性,只需在控件中添加Page_Init事件,在些事件中调用控件的Page_Load,或对控件的属性进行初始化赋值.
例如:
要在页面的Page_Load方法运行时,获取控件的属性JgName修改后的值,而不是空值,请看控件中的部分代码
private string jgID = "";
/// <summary>
/// 机构ID
/// </summary>
public string JgID
{
get {
if(jgID=="")
jgID=Request.QueryString["jg"];
return jgID;
}
set { jgID = value; }
}
private string jgname = "";
/// <summary>
/// 机构名称
/// </summary>
public string JgName
{
get
{
return jgname;
}
set { jgname = value; }
}
private DataTable dt;
private void Page_Init(object sender, EventArgs e)
{
dt = DbHelper.GetDataTable("select jiGou,banner from zs_jigou where ID=" + JgID.ToString());
JgName = dt.Rows[0]["jiGou"].ToString();
}
在控件的Page_Init修改了JgName属性的值,这样,是在页面的Page_Load之前执行的,所以,在页面中调用这个控件的JgName属性时,就是改过之后的值了,而不是空值