if (!IsPostBack)
{
第一个dropdownlist绑定
}
第二个dropdownlist根据第一个在if外面绑定(这样我选择下拉项是就没有意义了,怎么办??)
7 个解决方案
#1
对每一个dropdownlist的绑定应该写成一个方法,然后在!IsPostBack里面绑定第一个就好了,你自动回发的时候去触发第一个的TextChange事件再去绑定第二个就可以了
#2
制作一个方法。 在方法中进行绑定。 - - 两个绑定到一起就好了咯。。
if(!ispostback){
ddl1.selectedindex==0
}
if(ddl1.selectedindex!=0){
ddl2绑定 = xxx(ddl1.selectedindex)
}
if(!ispostback){
ddl1.selectedindex==0
}
if(ddl1.selectedindex!=0){
ddl2绑定 = xxx(ddl1.selectedindex)
}
#3
你为啥要在page_load里面写第二个的绑定撒
你的第二个不是在第一个的选中事件里面绑定的吗?
你的第二个不是在第一个的选中事件里面绑定的吗?
#4
IsPostBack控制第一个
第二个根据第一个Change事件控制第二个的值
第二个根据第一个Change事件控制第二个的值
#5
第二个不用自动回传啊。。。。第二个就是根据第一个的值进行加载的,为什么要设置第二个的回传呢
#6
<div>
<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;
}
}
#7
万分感谢大家~~~~应该在第一个的change方法里面绑定第二个!!!结贴
#1
对每一个dropdownlist的绑定应该写成一个方法,然后在!IsPostBack里面绑定第一个就好了,你自动回发的时候去触发第一个的TextChange事件再去绑定第二个就可以了
#2
制作一个方法。 在方法中进行绑定。 - - 两个绑定到一起就好了咯。。
if(!ispostback){
ddl1.selectedindex==0
}
if(ddl1.selectedindex!=0){
ddl2绑定 = xxx(ddl1.selectedindex)
}
if(!ispostback){
ddl1.selectedindex==0
}
if(ddl1.selectedindex!=0){
ddl2绑定 = xxx(ddl1.selectedindex)
}
#3
你为啥要在page_load里面写第二个的绑定撒
你的第二个不是在第一个的选中事件里面绑定的吗?
你的第二个不是在第一个的选中事件里面绑定的吗?
#4
IsPostBack控制第一个
第二个根据第一个Change事件控制第二个的值
第二个根据第一个Change事件控制第二个的值
#5
第二个不用自动回传啊。。。。第二个就是根据第一个的值进行加载的,为什么要设置第二个的回传呢
#6
<div>
<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;
}
}
#7
万分感谢大家~~~~应该在第一个的change方法里面绑定第二个!!!结贴