读书人

GridView中 DropDownList的选定项的有

发布时间: 2012-01-12 22:11:58 作者: rapoo

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


读书人网 >asp.net

热点推荐