问题:
第2个列表根据第1个改变.
当选择第2个列表的时候.
他总是默认选中第2个列表内容的第一个值.
无论如何也取不到我选中的值.郁闷啊
小弟是新手,,对ajax认识还不全.希望高手们帮帮忙啊.
    //区域名字
    static string qu = "";
    //镇名字
    static string zhen = "";
//页面加载第一个列表
  protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            Bind();
    }
//绑定第一个列表
    protected void Bind()
    {
        this.ddla.DataSource = are.Getcity();
        this.ddla.DataTextField = "city";
        this.ddla.DataValueField = "id";
        this.ddla.DataBind();
    }    //获取区域
    protected void ddla_SelectedIndexChanged(object sender, EventArgs e)
    {
//清空第2列表
        this.ddlb.Items.Clear();
        qu = this.ddla.SelectedItem.Text.ToString(); ;
        //绑定镇列表
        int cid = int.Parse(this.ddla.SelectedValue);
        foreach (DataRow dr in are.GetArea(cid).Rows)
        {
            this.ddlb.Items.Add(dr[0].ToString());
        }
    }    //页内区域搜索
    protected void Button1_Click(object sender, EventArgs e)
    {
        System.Threading.Thread.Sleep(1000);
        zhen = this.ddlb.SelectedItem.ToString();
        //.....
        this.Label1.Text = qu + ":" + zhen + "该条件下所有房屋信息";
     }这是设计:
   <asp:ScriptManager id="ScriptManager1" runat="server">
    </asp:ScriptManager>
    <asp:UpdateProgress id="UpdateProgress1" runat="server">
        <progresstemplate>
&nbsp;&nbsp;&nbsp; 
</progresstemplate>
数据处理中....
    </asp:UpdateProgress>
    <asp:UpdatePanel id="UpdatePanel1" runat="server">
        <contenttemplate>
<TABLE style="WIDTH: 200px" id="TABLE1" runat="server"><TR><TD><asp:Label id="Label1" runat="server" ForeColor="Blue" Font-Size="Small" Font-Bold="True"></asp:Label><asp:DropDownList id="ddla" runat="server"></asp:DropDownList><asp:DropDownList id="ddlb" runat="server"></asp:DropDownList><asp:Button id="Button1" onclick="Button1_Click" runat="server" Text="搜索" Height="22px" Width="41px"></asp:Button></TD></TR></TABLE>
</contenttemplate>
    </asp:UpdatePanel>

解决方案 »

  1.   

    zhen = this.ddlb.SelectedItem.ToString(); 
    改成
    zhen = this.ddlb.SelectedItem.value.ToString(); 
    或者
    zhen = this.ddlb.SelectedItem.Text.ToString(); 
      

  2.   

    LS的说的方法我已经试过了.
    还是不行.
    再来几个高手帮忙看看啊...
    我的2个列表只有第一个有列表有 AutoPostBack="True" 这个属性
    其他都没有
    第2个如果也等于true就更选不中了.怎么回事啊.
    有谁能加我Q363473798 帮忙详细解释下.
    再搞不好老板今天晚上会杀了我
      

  3.   

    其实逻辑是对的. 少写了个东西.没有绑第2个列表的ID所以取不到value和text