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是只读的。

编辑:评估/绑定错误不是来自 ReqUsersDataS 数据源。它正在尝试在具有您显示的 TemplateField 的 GridView 的数据源上找到一个名为“名称”的列。您只需要确保其他数据源具有名为“名称”的列。

于 2015-07-13T22:40:18.273 回答