aspx局部代码如下
<asp:UpdatePanel ID="UpdatePanel1"
                                        runat="server" UpdateMode="Conditional">
                                        <ContentTemplate>
                                            <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
                                                <asp:ListItem Text="请跟进" Value="请跟进"></asp:ListItem>
                                                <asp:ListItem Text="请核实" Value="请核实"></asp:ListItem>
                                                <asp:ListItem Text="已报名" Value="已报名"></asp:ListItem>
                                                <asp:ListItem Text="未报名" Value="未报名"></asp:ListItem>
                                            </asp:DropDownList>
                                            <asp:HiddenField ID="HiddenField1" runat="server" Value='<%#Eval("id") %>' />
                                        </ContentTemplate>
                                    </asp:UpdatePanel>

解决方案 »

  1.   

    当 UpdateMode 属性改为 Conditional 时,则该 UpdatePanel 的刷新关况依下面条件而定:
    1. 是该 UpdatePanel 内的控件(包括上篇说的 Trigger 方式设置的) 触发的,该 UpdatePanel 控件才刷新其内容
    2. 是调用了该 UpdatePanel 控件的 Update() 方法, 该 UpdatePanel 控件才刷新其内容
    3. 当 UpdatePanel 是嵌套时,(UpdatePanel 中还有别一个UpdatePanel),父级  UpdatePanel 发生刷新,子级也会跟随刷新
      

  2.   

    试试:
        protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
        {
            //.......
            UpdatePanel1.Update();    }
      

  3.   

    UpdatePanel是放上去了,有没有放ScriptManager呀,任何用到Ajax的控件都必须要在那个页面上放一个ScriptManager控件
      

  4.   

    同样的问题,最终用ajax的异步对象实现的
      

  5.   

    回答刚才几位乐于助人的同学的问题:第一,本页面存在控件scriptmanager证据!
    <body>
        <form id="form1" runat="server">
        <Inc:Head ID="Head2" runat="server" />
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
    第二,有写Update方法证据!
            protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
            {
                //string value = ((DropDownList)dataListSchool.FindControl("DropDownList1")).SelectedItem.Text;
                foreach (DataListItem item in dataListSchool.Items)
                {
                    if ((item.ItemType == ListItemType.Item ) || (item.ItemType == ListItemType.AlternatingItem) || (item.ItemType == ListItemType.SelectedItem))
                    {
                        string value = ((DropDownList)item.FindControl("DropDownList1")).SelectedValue;
                        int id = Convert.ToInt32(((HiddenField)item.FindControl("HiddenField1")).Value);
                        switch (value)
                        {
                            case "请跟进":
                                DbHelperSQL.ExecuteSql("update person set  = '请跟进' where id = " + id);
                                break;
                            case "请核实":
                                DbHelperSQL.ExecuteSql("update person set  = '请核实' where id = " + id);
                                break;
                            case "未报名":
                                DbHelperSQL.ExecuteSql("update person set  = '未报名' where id = " + id);
                                break;
                            case "已报名":
                                DbHelperSQL.ExecuteSql("update person set  = '已报名' where id = " + id);
                                break;
                            default:
                                break;
                        }
                        ((UpdatePanel)item.FindControl("UpdatePanel1")).Update();
                    }
                }
            }
      

  6.   

     ((UpdatePanel)item.FindControl("UpdatePanel1")).Update();
    删掉foreach外面UpdatePanel1.Update(); 
      

  7.   


    回答这位同学,我panel和dropdownlist都是写在datalist里面的,而做为ajax的事件是DropDownList1_SelectedIndexChanged,foreach循环是为了找到控件,如果写在外面则很可能找不到控件。
      

  8.   


    没看清不好意思DataList外面再套一个updatepanel最后SelectedIndexChanged更新外面的updatepannel里面的那句还是不会try
      

  9.   

     ((UpdatePanel)item.FindControl("UpdatePanel1")).Update();
    楼主同学,这句根本不用加!!试试!!
      

  10.   


    同学,用datalist的SelectedIndexChanged成吗?我并没有任何选中……