这是产生的错误,在点击“编辑”按钮时产生的
下图是运行时的界面:下面是关键代码:
<td>
   <asp:DropDownList ID="类别TextBox" runat="server" Text='<%# Bind("类别") %>' >
   <asp:ListItem>管理员</asp:ListItem>
   <asp:ListItem>高级管理员</asp:ListItem>
   </asp:DropDownList>
</td>
放在                    <EditItemTemplate>                    </EditItemTemplate>
里面的
我其他地方这么用没问题,照搬过来用出错,我想不出它错在哪里。
而且在这里用在“插入”上的这下拉控件没问题,用在编辑上出错,郁闷。

解决方案 »

  1.   

    有可能是你编辑的某一行的类别列的数据不是用dropdownlist创建的,是手动输入的,然后和dropdownlist的listitem的2个值不符合,编辑的时候就会这样报错
      

  2.   


    红色的地方:1.首先你ID的设置不要用中文.
               2。应该是这样:SelectedValue='<%# Bind("类别") %>'
               3.在模板里绑定结束后再找控件
    楼下补充
      

  3.   

    对,楼上是正解。在design界面的gridview的smarttag里面选Edittemplate找到到你哪行的Edittemplate。
    在dropdowmlist的smarttag里面选edit databidings然后右下角输入Bind("类别").
      

  4.   

    首先对于你的回答我表示非常感谢。
    事实证明ID用中文是没有错的,而且系统自动分配的ID里面很多含有中文
    不知道你第二点所说的修改是否为:
    <asp:DropDownList ID="类别TextBox" runat="server" SelectedValue='<%# Bind("类别") %>' >
    然而如果是这样,也是错的。
    我listview控件的绑定是直接用鼠标点击,找数据源绑定的,我控件的修改直接在listview自动生成的代码里面修改的,我不知道系统是先绑定还是先找控件。
    对于五楼的回答,我几乎看不懂。不好意思
      

  5.   

    额,更让我郁闷的是,我这是模仿我之前做过的一些来的,过程差不多,但结果就是错的,这让我很郁闷。               
        <td>
                            <asp:DropDownList ID="性别TextBox" runat="server" Text='<%# Bind("性别") %>'>
                            <asp:ListItem></asp:ListItem>
                            <asp:ListItem>男 </asp:ListItem>
                            <asp:ListItem>女 </asp:ListItem>
                            </asp:DropDownList>
                        </td>
    这东西放在编辑或者插入部分都工作正常
      

  6.   

    而且,只要把下拉控件改回label,那就没问题了。直接告诉我下拉控件用错了。
      

  7.   

    你控件嵌套在<EditItemTemplate>模板里面里面,不是先绑定外面的控件后才能找到里面的控件吗?