首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

GridView中 DropDownList的选定项的有关问题。

2012-01-12 
GridView中 DropDownList的选定项的问题。。。。。。。。。。。 在线等在GridView1的一摸板列的HeaderRow中我放了一个

GridView中 DropDownList的选定项的问题。。。。。。。。。。。 在线等
在GridView1的一摸板列的HeaderRow中我放了一个   DropDownList1来控制   GridView1每页显示的记录数,DDL_SelectedIndexChanged的时候,记录数会变,可DropDownList的选定项总是不变:

protected   void   DropDownList1_SelectedIndexChanged(object   sender,   EventArgs   e)
        {
                DropDownList   DDL   =   (DropDownList)GridView1.HeaderRow.FindControl( "DropDownList1 ");
                if   (DDL   !=   null)
                {
                        int   count   =   5;
                        string   num   =   DDL.SelectedItem.Value;
                        if   (num   !=   "all ")
                        {
                                count   =   int.Parse(num);
                        }
                        else
                        {
                                DataSet   ds   =   (DataSet)GridView1.DataSource;
                                if   (ds   !=   null)
                                {
                                        count   =   ds.Tables[0].Rows.Count;
                                }
                        }                      
                        GridView1.PageSize   =   count;
                        ListItem   LI   =   (ListItem)DDL.Items.FindByText(num);
                        if   (LI   !=   null)
                        {
                                LI.Selected   =   true;
                        }
                }
        }
                Text                   value

  DDL   :       5                         5
                  10                       10


                  20                       20
                  all                     all


[解决办法]
你的程序的逻辑有明显残疾。应该仅当 SelectedIndexChanged 发生的时候才确保 GridView1.DataBind(),这既需要“确保”,又应该“仅当”,你的代码看不到这种恰当的逻辑如何控制。
[解决办法]
很显然,由于上述拼凑逻辑,造成这个方法后边的事件把这个方法中(你设置下拉列表的选中内容)的功能给废掉了。一个地方的东西搅乱之前的东西,没有谨慎、清楚、可靠的逻辑设计。
[解决办法]
事件注册在前台aspx页面,自己在后台写处理事件
[解决办法]
mark
[解决办法]
DDL的autopostback是否为true


热点排行