日期:2014-05-18  浏览次数:20422 次

GridView模板列里的用户控件属性问题
做了一个用户控件,选择地市的,从数据库查出数据绑定到一个dropdownlist,用户控件有个属性,根据属性确定当前的选择项
在gridview里的一个模板里应用此用户控件
问题:gridview分页时,用户控件的选项总是第一项,不会根据属性去选择,也就是说,在用户控件里得不到属性的值.


用户控件代码:
public   int   city_id;
        public   int   CityID   //这个属性在gridview页面分页时这里总是0,但赋的值不是0
        {
                get   {   return   city_id   ;   }
                set   {   city_id   =   value;   }
        }

protected   void   Page_Load(object   sender,   EventArgs   e)
        {
                if   (!Page.IsPostBack)
                {
                        BindGrid();   //绑定
                        ddlArea.SelectedValue   =   city_id.ToString();
                }
        }

------解决方案--------------------
要让用户控件的选项随属性去选择,应该将用户控件的绑定写在GridView的OnItemDataBound事件里,因为OnItemDataBound在生成GridViewRow的时候发生,每生成一个GridViewRow,就触发一个OnItemDataBound事件