搜索吧

首页 » 搜成宝库 » 疑难杂症 » 在页面Page_Load之前初始化页面控件属性的值或执行控件Page_Load
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属性时,就是改过之后的值了,而不是空值
1
查看完整版本: 在页面Page_Load之前初始化页面控件属性的值或执行控件Page_Load