两个dropdownlist,第二个的下拉项根据第一个选择的来加载,两个都要设置为自动回发!!!那我第二个就无法选值了啊,
if (!IsPostBack)
{
第一个dropdownlist绑定
}
第二个dropdownlist根据第一个在if外面绑定(这样我选择下拉项是就没有意义了,怎么办??)
if (!IsPostBack)
{
第一个dropdownlist绑定
}
第二个dropdownlist根据第一个在if外面绑定(这样我选择下拉项是就没有意义了,怎么办??)
ddl1.selectedindex==0
}
if(ddl1.selectedindex!=0){
ddl2绑定 = xxx(ddl1.selectedindex)
}
你的第二个不是在第一个的选中事件里面绑定的吗?
第二个根据第一个Change事件控制第二个的值
<div>
省份:<asp:DropDownList ID="ddlProvinceList" runat="server" AutoPostBack="true"
onselectedindexchanged="ddlProvinceList_SelectedIndexChanged">
</asp:DropDownList>
</div>
<div>
城市:<asp:DropDownList ID="ddlCityList" runat="server" >
</asp:DropDownList>
</div>
</div>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ProvinceDataBind();
}
} protected void ProvinceDataBind()
{
var list = new[] {
new {ID="1",ProvinceName="湖南"},
new {ID="2",ProvinceName="上海"},
new {ID="3",ProvinceName="北京"}
}.ToList(); ddlProvinceList.DataSource = list;
ddlProvinceList.DataTextField = "ProvinceName";
ddlProvinceList.DataValueField = "ID";
ddlProvinceList.DataBind();
}
protected void ddlProvinceList_SelectedIndexChanged(object sender, EventArgs e)
{
ddlCityList.Items.Clear(); string provinceName = ddlProvinceList.SelectedItem.Text;
switch (provinceName)
{
case "湖南":
ddlCityList.Items.Add(new ListItem("长沙", "1"));
break;
case "上海":
ddlCityList.Items.Add(new ListItem("上海市", "2"));
break;
default:
break;
}
}