C# Updatepanel中的Dropdownlist工作不正常
我在updatepanel中放置了2个Dropdownlist。每当第一个dropdownlist所选索引发生变化时,第二个dropdownlist的项目就会发生变化。(就像国家/地区……在我的例子中是城市区域) 每当我更改第一个dropdownlist(DDLCity1)selectedindex时,它都可以正常工作。但只有两次。 假设,在页面加载后,我选择“LA”没问题,LA区域将加载到另一个dropdownlist区域1中。然后我改变一下,选择“NY”城市,另一个下拉列表也可以 但现在,我尝试第二个下拉列表显示没有变化!!!!!它仍然显示最后的结果 在排序中,回发只工作2次 为了进行测试,我在indexchange的下拉列表中只弹出了2次警报消息。好像只回了2次:((请帮我C# Updatepanel中的Dropdownlist工作不正常,c#,asp.net,drop-down-menu,asp.net-ajax,updatepanel,C#,Asp.net,Drop Down Menu,Asp.net Ajax,Updatepanel,我在updatepanel中放置了2个Dropdownlist。每当第一个dropdownlist所选索引发生变化时,第二个dropdownlist的项目就会发生变化。(就像国家/地区……在我的例子中是城市区域) 每当我更改第一个dropdownlist(DDLCity1)selectedindex时,它都可以正常工作。但只有两次。 假设,在页面加载后,我选择“LA”没问题,LA区域将加载到另一个dropdownlist区域1中。然后我改变一下,选择“NY”城市,另一个下拉列表也可以 但现在,我
<pre>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" ViewStateMode="Enabled" UpdateMode="Always">
<ContentTemplate>
<asp:DropDownList ID="DDLCity1" runat="server" AutoPostBack="false" OnSelectedIndexChanged="DDLCity_SelectedIndexChanged"
ViewStateMode="Enabled">
<asp:ListItem Text="- All City -" />
</asp:DropDownList>
<asp:DropDownList ID="DDLArea1" runat="server" Style="margin-bottom: 0px" OnSelectedIndexChanged="DDLArea_SelectedIndexChanged"
AutoPostBack="false" ViewStateMode="Enabled">
<asp:ListItem Text="- Anywhere -" />
</asp:DropDownList>
<span style="position: absolute;">
<asp:UpdateProgress ID="UpdateProgress1" runat="server">
<ProgressTemplate>
<img src="img/loading.gif" alt="Alternate Text" />
</ProgressTemplate>
</asp:UpdateProgress>
</span>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="DDLCity1" EventName="SelectedIndexChanged" />
</Triggers>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="DDLArea1" EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>
remove ClientMode=“Static”property在这两个下拉列表中,AUTOPOSTBACK都是“True”。这是我的输入错误。请尝试UpdatePanel1.update();在下拉列表中,我尝试了它。仍然存在相同的问题。@RAJESH KUMARFirst在没有更新面板的情况下尝试是否工作正常。
<code>
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
DDLCity1.DataSource = objsql.GetTable("select distinct city from tblCity where status=1 order by city");
DDLCity1.DataTextField = "city";
DDLCity1.DataValueField = "city";
DDLCity1.DataBind();
DDLCity1.Items.Insert(0, new ListItem("- All India -", "- All India -"));
if (Request.Cookies["ddCityCookie"] != null)
{
ddlCity.SelectedIndex = int.Parse(Request.Cookies["ddCityCookie"].Value);
if (Request.Cookies["ddAreaCookie"] != null)
{
ddlArea.SelectedIndex = int.Parse(Request.Cookies["ddAreaCookie"].Value);
}
}
}
protected void DDLCity_SelectedIndexChanged(object sender, EventArgs e)
{
DropDownCityIndexChange();
DDLArea1.SelectedIndex = 0;
}
protected void DDLArea_SelectedIndexChanged(object sender, EventArgs e)
{
HttpCookie ddAreaCookie = new HttpCookie("ddAreaCookie");
ddAreaCookie.Value = DDLArea1.SelectedIndex.ToString();
ddAreaCookie.Expires = DateTime.Now.AddYears(1);
Response.Cookies.Add(ddAreaCookie);
}
public void DropDownCityIndexChange()
{
DDLArea1.Items.Clear();
DDLArea1.DataSource = null;
HttpCookie ddCityCookie = new HttpCookie("ddCityCookie");
ddCityCookie.Value = DDLCity1.SelectedIndex.ToString();
ddCityCookie.Expires = DateTime.Now.AddYears(1);
Response.Cookies.Add(ddCityCookie);
DataSet ds = new DataSet();
if (DDLCity1.SelectedItem.Text != "- All India -")
{
DataTable dt = new DataTable();
dt = objsql.GetTable("select area from tblCity where city='" + DDLCity1.SelectedItem.Text + "' and status=1 order by area");
if (dt.Rows[0]["area"].ToString() != null && dt.Rows[0]["area"].ToString() != "")
{
DDLArea1.DataSource = dt;
DDLArea1.DataTextField = "area";
DDLArea1.DataValueField = "area";
DDLArea1.DataBind();
}
}
DDLArea1.Items.Insert(0, new ListItem("- Anywhere -", "- Anywhere -"));
}
</code>