0

ここでは、EditItemTemplate に DropDownList があります。

<asp:TemplateField HeaderText="RequestedBy" SortExpression="RequestedBy">
                        <EditItemTemplate>
                            <asp:DropDownList ID="ReqUserDDL" runat="server" AppendDataBoundItems ="True" DataSourceID="ReqUsersDataS" DataTextField="Name" DataValueField="Name" SelectedValue='<%# Bind("Name") %>' >
                            </asp:DropDownList>
                            <asp:SqlDataSource ID="ReqUsersDataS" runat="server" ConnectionString="<%$ ConnectionStrings:itassetmgmtConnectionString1 %>" SelectCommand="SELECT Firstname + Lastname AS Name FROM Users"></asp:SqlDataSource>
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:Label ID="Label7" runat="server" Text='<%# Eval("RequestedBy") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>

ただし、次のエラーが発生し続けます。

DataBinding: 'System.Data.DataRowView' does not contain a property with the name 'Name'.

これを改善する方法はありますか?

4

1 に答える 1

0

Evalの代わりに使用しBindます。Bindは読み取りおよび/または書き込み用で、Eval読み取り専用です。

編集: Eval/Bind エラーは ReqUsersDataS DataSource からのものではありません。表示された TemplateField を持つ GridView のデータ ソースで「名前」という名前の列を探しています。他のデータ ソースに「名前」という名前の列があることを確認する必要があります。

于 2015-07-13T22:40:18.273 に答える