生命之价
---程序员
昨天和今天遇到了同一个问题,一个页面有两个或多个GridView,DropDownList,DataList,DataGrid,ListBox这中控件,在同时绑定数据时结果只有最后一个绑定成功!
 1    protected void Page_Load(object sender, EventArgs e)
 2    {
 3        if (!IsPostBack)
 4        {
 5            GetAllDepartment();
 6            GetAllOS();
 7        }

 8    }

 9
10    public void GetAllDepartment()
11    {
12        dt = business.GetAllDepartment();
13        this.departmentListSelect.DataSource = dt;
14        this.departmentListSelect.DataValueField = dt.Columns[0].ColumnName;
15        this.departmentListSelect.DataTextField = dt.Columns[1].ColumnName;
16        this.departmentListSelect.Items.Insert(0new ListItem("请选择""0"));
17    }

18
19    public void GetAllOS()
20    {
21        dt = business.GetAllOS();
22        this.oSListSelect.DataSource = dt;
23        this.oSListSelect.DataValueField = dt.Columns[0].ColumnName;
24        this.oSListSelect.DataTextField = dt.Columns[1].ColumnName;
25        this.oSListSelect.Items.Insert(0new ListItem("请选择""0"));
26    }
结果最后才找到错误的原因所在.
在定义数据源后必须要"将数据源绑定到被调用的服务器控件及其所有子控件",所以少了一个DataBind()的过程.
在16行和25行后加入DataBind()即可解决。
有关DataBind()的参见:
http://msdn2.microsoft.com/zh-cn/library/system.web.ui.control.databind(VS.80).aspx
posted on 2007-03-29 13:22  Freeman Shen  阅读(398)  评论(0编辑  收藏  举报