0

実行時に、データソースで列「M」が見つからないという例外が発生しますが、「M」はどこにも使用されていません。グリッドビュー内のドロップダウンリストにデータをバインドしようとしています。コードビハインドではなく、.aspx ページでこれを行う必要があります。私が使用しているコードは次のとおりです。

<asp:GridView ID="grdDrpDownlistSample" runat="server" AutoGenerateColumns="false" DataSourceID="sqlDS1">
    <Columns>
    <asp:TemplateField HeaderText="User Name">
    <ItemTemplate>
    <asp:Label ID="lblName" runat="server" Text='<%# Eval("Name").ToString()%>'></asp:Label>
    </ItemTemplate>
    </asp:TemplateField>

    <asp:TemplateField HeaderText="Logged In Status">
    <ItemTemplate>
    <asp:CheckBox ID="chkStatus" runat="server" Checked='<%# Eval("LoggedIn") %>'></asp:CheckBox>
    </ItemTemplate>
    </asp:TemplateField>

    <asp:TemplateField HeaderText="Sex">
    <ItemTemplate>
    <asp:DropDownList ID="drpSex" DataSourceID="sqlDS1" runat="server" DataTextField='<%# Eval("Sex") %>'  DataValueField='<%# Eval("id") %>' ></asp:DropDownList>
    </ItemTemplate>
    </asp:TemplateField>
    </Columns>


    </asp:GridView>
    <asp:SqlDataSource ID="sqlDS1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="select * from Users"> </asp:SqlDataSource>
4

1 に答える 1

1

それは今働いています。Eval式ではなく列名だけを期待していたので、ドロップダウンリストからEvalを削除することでこれを機能させました。

于 2012-05-08T06:40:03.683 に答える