【发布时间】:2012-03-29 20:25:52
【问题描述】:
我有一个自动生成字段的 asp DetailsView 控件。
有一列的 ID 映射到另一张表(外键)。它显示在一个文本框中。我希望该列显示为下拉列表,如下面的代码示例所示。这工作正常,但另一列仍显示带有 ID 的文本框。
我的问题是: 是否可以使用自动生成并仍然隐藏您不需要或不想修改的列?
我讨厌仅仅因为一列需要使用 TemplateField 就必须为每一列编写代码。
详情视图
<asp:DetailsView ID="DetailsView1" runat="server"
DefaultMode="Edit" DataSourceID="EntityDataSource1"
AutoGenerateEditButton="True" AutoGenerateInsertButton="True">
<Fields>
<asp:TemplateField HeaderText="Authorization">
<EditItemTemplate>
<asp:DropDownList ID="DropDownList2" Runat="server" DataSourceID="EntityDataSource2" CssClass="DropDown"
DataTextField="Name" DataValueField="AuthenticationId" SelectedValue='<%# bind("AuthenticationId") %>'>
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>
<asp
</Fields>
</asp:DetailsView>
DetailsView 数据源:
<asp:EntityDataSource ID="EntityDataSource1" runat="server"
ContextTypeName="EntityNamespace.MyEntity" EnableFlattening="False"
EntitySetName="Routes" Include="Authentication" Where="it.RouteId = @RouteId">
<WhereParameters>
<asp:RouteParameter Type="Int32" RouteKey="RouteId" Name="RouteId" />
</WhereParameters>
</asp:EntityDataSource>
下拉列表数据源
<asp:EntityDataSource ID="EntityDataSource2" runat="server"
ContextTypeName="EntityNamespace.MyEntity" EnableFlattening="False"
EntitySetName="Authentications">
</asp:EntityDataSource>
【问题讨论】:
标签: asp.net detailsview