在DataList的EditItemTemplate项中定义了一个DropDownList控件,我已经装DropDownList的DataSource属性设置成了自定属性bm,属性bm返回一个DataTable.我现在如何能使打开DataList的编辑项后,DropDownList中显示bmmc的和没有打开编辑项之前显示的bmmc是一致的.<asp:DataList id="dl" Runat="server" DataKeyField="userid" OnSelectedIndexChanged="dlselect" OnEditCommand="dledit"
GridLines="Horizontal" OnCancelCommand="dlcancel">
<HeaderTemplate>
用户信息表:
</HeaderTemplate>
<ItemTemplate>
<asp:LinkButton runat="server" CommandName="Select" Text="查看" />
<asp:LinkButton Runat="server" CommandName="Edit" text="编辑" />
<%#DataBinder.Eval(Container.DataItem,"username")%>
<%#DataBinder.Eval(Container.DataItem,"loginname")%>
<%#DataBinder.Eval(Container.DataItem,"userpwd")%>
<%#DataBinder.Eval(Container.DataItem,"bmmc")%>
</ItemTemplate>
<EditItemTemplate>
<asp:LinkButton Runat="server" CommandName="Update" Text="更新" ID="Linkbutton1" />
<asp:LinkButton Runat="server" CommandName="Cancel" Text="取消" ID="Linkbutton2" />
<asp:TextBox Runat="server" ID="editname" Text='<%#DataBinder.Eval(Container.DataItem,"username")%>'/>
<asp:TextBox Runat="server" ID="editlname" Text='<%#DataBinder.Eval(Container.DataItem,"loginname")%>'/>
<asp:TextBox Runat="server" ID="editpwd" Text='<%#DataBinder.Eval(Container.DataItem,"userpwd")%>'/>
<asp:DropDownList Runat="server" ID="editbm" DataSource='<%# bm %>' DataTextField="bmmc" DataValueField="bmid"/>

</EditItemTemplate>
</asp:DataList>

解决方案 »

  1.   

    在数据绑定时加上
                     if not page.ispostback then                              .
                                  .
                                  .
                     end if
    试试看
      

  2.   

    <asp:DropDownLis中添加一个属性SelectedIndex="绑定bmmc值"就可以
      

  3.   

    不行,我将SelectedIndex属性绑定了bmid后提示错误?
    DataBinder.Eval:“System.Data.Common.DbDataRecord”不包含名称为 bmid 的属性。