下面是我用的dropdownlist的一段代码,但是当把dropdownlist的AutoPostBack值设为true时,就会出错,<asp:DropDownList ID="DDL_month" runat="server" AutoPostBack=true
OnSelectedIndexChanged="DDL_SelectedIndexChanged">SelectedIndexChanged 的函数如下
protected void DDL_SelectedIndexChanged(object sender, EventArgs e)
{
switch (DDL_month.SelectedValue)
{
case "1":
case "3":
case "5":
case "7":
case "8":
case "10":
case "12":
DDL_day.Items.Clear();
for (int i = 1; i <= 31; i++)
{
DDL_day.Items.Add(new ListItem(Convert.ToString(i), Convert.ToString(i)));
}
break;
case "4":
case "6":
case "9":
case "11":
DDL_day.Items.Clear();
for (int i = 1; i <= 30; i++)
{
DDL_day.Items.Add(new ListItem(Convert.ToString(i), Convert.ToString(i)));
}
break;
case "2":
DDL_day.Items.Clear();
if ((Convert.ToInt32(DDL_year.SelectedValue) % 4 == 0) || (Convert.ToInt32(DDL_year.SelectedValue) % 100 == 0))
{
for (int i = 1; i <= 29; i++)
{
DDL_day.Items.Add(new ListItem(Convert.ToString(i), Convert.ToString(i)));
};
}
else
{
for (int i = 1; i <= 28; i++)
{
DDL_day.Items.Add(new ListItem(Convert.ToString(i), Convert.ToString(i)));
};
}
break;
} }
问什么函数不起作用呢?
OnSelectedIndexChanged="DDL_SelectedIndexChanged">SelectedIndexChanged 的函数如下
protected void DDL_SelectedIndexChanged(object sender, EventArgs e)
{
switch (DDL_month.SelectedValue)
{
case "1":
case "3":
case "5":
case "7":
case "8":
case "10":
case "12":
DDL_day.Items.Clear();
for (int i = 1; i <= 31; i++)
{
DDL_day.Items.Add(new ListItem(Convert.ToString(i), Convert.ToString(i)));
}
break;
case "4":
case "6":
case "9":
case "11":
DDL_day.Items.Clear();
for (int i = 1; i <= 30; i++)
{
DDL_day.Items.Add(new ListItem(Convert.ToString(i), Convert.ToString(i)));
}
break;
case "2":
DDL_day.Items.Clear();
if ((Convert.ToInt32(DDL_year.SelectedValue) % 4 == 0) || (Convert.ToInt32(DDL_year.SelectedValue) % 100 == 0))
{
for (int i = 1; i <= 29; i++)
{
DDL_day.Items.Add(new ListItem(Convert.ToString(i), Convert.ToString(i)));
};
}
else
{
for (int i = 1; i <= 28; i++)
{
DDL_day.Items.Add(new ListItem(Convert.ToString(i), Convert.ToString(i)));
};
}
break;
} }
问什么函数不起作用呢?
添加一个属性AutoEventWireup="true"
看看
这样跟你说吧,我要实现一个出生年月的选择列表框的选择问题,用dropdownlist
三个列表框分别是 DD_year, DD_month, DD_day
我想当选择 DD_month 里面的值(选择一定的月,后面的天数改变)
然后,我就 写了<asp:DropDownList ID="DDL_month" runat="server" AutoPostBack=true
OnSelectedIndexChanged="DDL_SelectedIndexChanged">这个代码,在.cs类里写了DDL_SelectedIndexChanged这个函数,原帖有这段代码。
可是,调试的时候,通过设置断点,发现DDL_SelectedIndexChanged这个函数的所有语句都没有执行。后来,调用网页调试,发现错误就是因为 AutoPostBack=true,一旦把AutoPostBack的值设置为true,网页调试就弹出 “对象不支持属性和方法”这个错误提示,如果不设置,网页没错,但DD_month, DD_day这两个下拉列表框无法关联起来。
是否选择的数据问题
DDL_month.SelectedValue是否正确
DDL_day.Items.Add(new ListItem(Convert.ToString(i), Convert.ToString(i)));
你这种添加itme的方法不适合这样写 上面这样的写法都要改
用DDL_day.Items.insert(),不明白这个方法参数写法的 百度一下,就不细说了