2013-04-05 46 views
1

我正在使用ASP.NET webforms和实体框架。我正在尝试使用Details视图来创建一个简单的插入表单。我不想编辑,删除或从此详细信息视图中选择条目,只插入新条目。ASP.NET仅插入详细信息视图和下拉列表

在插入中,我想插入新的人。 一个人的结构是:名称,经理,工作地点

我有两个实体数据源,代表了管理人员和一个代表地点 我在可以选择经理和位置InsertTemplate则2个DropDownLists。

我的问题是,当我放置DetailsView(DefaultMode = insert)并为人员实体添加数据源时,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

你能显示这个'DetailsView'的代码吗? – jadarnel27 2013-04-05 18:27:53

+1

是的,对不起,我的意思是把它放进去,忘了。 – SmashCode 2013-04-05 18:34:23

回答

0

不知道这是否会帮助,但如果你只是想插入模式,尝试删除AutoGenerateInsertButton财产,并添加一个CommandField与ShowInsertButton =在字段属性为True。

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