我正在使用ASP.NET webforms和Entity Framework。我正在尝试使用详细信息视图只有一个简单的插入表单。我不想编辑,删除或从此详细信息视图中选择条目,仅插入新条目。
在插入中,我想插入新人。 人的结构是:姓名,经理,位置
我有两个实体数据源,一个代表Managers,另一个代表Locations 我在InsertItemTemplate中有两个DropDownLists,可以选择管理器和位置。
我的问题是,当我放置DetailsView(DefaultMode = insert)并为people实体添加数据源时,DetailsView会显示数据库中的条目以及下拉列表和名称字段。我可能会遗漏一些简单的东西,但我似乎无法获得一个DetailsView仅用于插入由其他实体数据源填充的DropDownLists。
<asp:DetailsView ID="DetailsView1" runat="server" Height="50px" Width="125px"
DefaultMode="Insert" AutoGenerateInsertButton="True">
<Fields>
<asp:BoundField DataField = "Name" />
<asp:TemplateField>
<InsertItemTemplate>
<asp:DropDownList DataSourceID = "ManagerEntitySource" runat="server" />
</InsertItemTemplate>
<InsertItemTemplate>
<asp:DropDownList DataSourceID = "LocationEntitySource" runat="server" />
</InsertItemTemplate>
</asp:TemplateField>
</Fields>
</asp:DetailsView>
<asp:EntityDataSource ID="AddEmployeeDataSource" runat="server"
ConnectionString="name=SafetyEntities" DefaultContainerName="SafetyEntities"
EnableFlattening="False" EnableInsert="True" EntitySetName="Employees">
</asp:EntityDataSource>
答案 0 :(得分:0)
不确定这是否有用,但如果您只想要插入模式,请尝试删除AutoGenerateInsertButton属性,并在Fields属性中添加一个带有ShowInsertButton = True的CommandField。
<asp:DetailsView ID="DetailsView1" runat="server" Height="50px" Width="125px"
DefaultMode="Insert">
<Fields>
<asp:BoundField DataField = "Name" />
<asp:TemplateField>
<InsertItemTemplate>
<asp:DropDownList DataSourceID = "ManagerEntitySource" runat="server" />
</InsertItemTemplate>
<InsertItemTemplate>
<asp:DropDownList DataSourceID = "LocationEntitySource" runat="server" />
</InsertItemTemplate>
</asp:TemplateField>
<asp:CommandField ShowInsertButton="True" />
</Fields>
</asp:DetailsView>