如何在edittitemtemplate中填充下拉列表

本文关键字:填充 下拉列表 edittitemtemplate | 更新日期: 2023-09-27 18:02:34

这里,我在edittitemtemplate中有一个下拉列表:

<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'.

有办法补救吗?

如何在edittitemtemplate中填充下拉列表

Eval代替BindBind为读写,Eval为只读。

EDIT: Eval/Bind错误不是来自requsersdatasource。它试图在GridView的数据源上查找名为"Name"的列,该数据源具有您显示的TemplateField。您只需要确保其他数据源具有名为'Name'的列。