2013-04-05 93 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>