DropDownList1.AutoPostBack=true; 试试 

解决方案 »

  1.   

    DropDownList1.AutoPostBack=true,可能闪的太厉害了。
      

  2.   

    注意AutoPostBack=true不管用,请继续关注,我用的是UserControl
      

  3.   

    你初始是怎么绑定DataGrid的?确认是在if (!IsPostBack)
    {
     //here
    }里, 是的话,把编码贴出来
      

  4.   

    关于绑定,由于点“编辑”按钮也属于Post,因此没法根据这个判断。
    另一方面,我试过把UserControl替换成普通的Text,绑定没有问题。
    根据按F11跟踪的情况来看,代码都执行完之前一直是按预计的情况走的,但是最后结果不知道为什么UserControl的状态就是保存不下来,若用静态变量保存倒是可以,但是这里肯定不能用静态变量。
      

  5.   

    <asp:TemplateColumn HeaderText="面板类型" FooterText="11111">
    <ItemTemplate>
    <asp:Label id=Label2 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.面板类型") %>'>
    </asp:Label>
    </ItemTemplate>
    <EditItemTemplate>
    <uc1:ctlPanelType id=CtlPanelType1 runat="server" SelectedValue='<%# DataBinder.Eval(Container, "DataItem.面板类型") %>'>
    </uc1:ctlPanelType>
    </EditItemTemplate>
    </asp:TemplateColumn>
    以上是模板列的代码。CtlPanelType是自己做的UserControl
      

  6.   

    <asp:TemplateColumn HeaderText="面板类型" FooterText="11111">
        <ItemTemplate>
    <asp:Label id=Label2 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.面板类型") %>'>
             </asp:Label>
        </ItemTemplate>
        <EditItemTemplate>
    <uc1:ctlPanelType id=CtlPanelType1 runat="server" SelectedValue='<%# DataBinder.Eval(Container, "DataItem.面板类型") %>'>
    </uc1:ctlPanelType>
        </EditItemTemplate>
    </asp:TemplateColumn>