Updatepanel内的Dropdownlist工作不正常

本文关键字:不正常 工作 Dropdownlist 内的 Updatepanel | 更新日期: 2023-09-27 18:00:08

我在更新面板中放入了2个Dropdownlist。只要第一个下载者选择的索引发生变化,第二个下载者的项目就会发生变化。(就像乡村州…在我看来,这里是城市地区)。

每当我更改在索引中选择的第一个下拉列表(DDLCity1)时,没有问题,它工作得很好。但只有两次。假设,在页面加载后,我选择"LA"没有问题,LA的区域将加载在另一个下拉列表DDLArea1中。然后我可以更改,选择"纽约"城市,再下载一个就可以了。

但现在第二次尝试我的第二次下载列表没有变化!!!!!它将显示最后结果。

在SORT中,回发只起2次作用。

为了测试,我在下拉列表的indexchange上放了一条警告消息,它只弹出了2次。似乎只回了两次:(请帮帮我;

<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>

<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>

Updatepanel内的Dropdownlist工作不正常

删除ClientIDMode="Static"属性