1
我有一个asp自动生成字段的DetailsView控件。asp.net DetailsView - AutoGenerate列
有一列有一个映射到另一个表(外键)的ID。它显示在一个文本框中。我希望该列显示为一个下拉列表,如下面的代码示例所示。这可以正常工作,但其他列仍然显示带有ID的文本框。
我的问题是: 是否可以使用自动生成并仍然隐藏不需要或想要修改的列?
我讨厌因为一列需要使用TemplateField而必须为每一列编写代码。
DetailsView控件
<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控件的DataSource:
<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>
DROPDOWNLIST数据源
<asp:EntityDataSource ID="EntityDataSource2" runat="server"
ContextTypeName="EntityNamespace.MyEntity" EnableFlattening="False"
EntitySetName="Authentications">
</asp:EntityDataSource>
我读的文章,它并不表示我可以做我的愿望。因此,我只是假设它不能完成,而我必须自己绑定所有的领域。 +1努力 – PsychoDUCK 2012-03-30 13:38:19