对于 ASP.NET,我使用 DetailsView 来插入和编辑记录。对于编辑模式,我不想显示主键字段,因为它不应该被更改。对于插入模式,我想显示主键字段,因为它不存在,并且用户可以通过 DropDownList 指定它,以确保他们将选择一个唯一值。TemplateField 用于主键字段的 DetailsView 标记(因此插入模式的 DropDownList)。
我的问题是我无法让主键字段在编辑模式下不显示并在插入模式下显示。在标记中我有:
<asp:TemplateField HeaderText="name" InsertVisible="True" Visible="True">
<InsertItemTemplate>
<asp:DropDownList ID="ddl2NonMembers" runat="server"
Width="155px"
Sourceless="sqlNonMembers"
DataTextField="name"
DataValueField="id_adm"
SelectedValue='<%# Bind("member_grp") %>'>
</asp:DropDownList>
</InsertItemTemplate>
</asp:TemplateField>
使用 TemplateField Visible="True",HeaderText="name" 总是显示我不想要的编辑模式。使用 TemplateField Visible="False",该字段永远不会显示我不想要的插入模式。
如何实现插入诗句编辑模式所需的显示行为。我可以以编程方式更改某些属性,而不是依赖纯标记方法,但我无法找出解决方案。
请指教!