2012-05-07 39 views
0

実行時にこの例外が発生しました。データソースに列 'M'が見つかりませんでしたが、 'Mどこでも。 Gridviewのドロップダウンリストにデータをバインドしようとしています。 私はこのコードを、コードではなく.aspxページで行う必要があります。DataBinding: 'System.Data.DataRowView'に 'M'という名前のプロパティが含まれていません

<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> 
+0

私はdropdownlistからEvalを削除することでこれを実現しました。 – Charu

答えて

1

それは今働いている: は、ここで私が使用していたコードです。 私はドロップダウンリストからEvalを削除することで、Eval式ではなく列名だけを期待していました。