我有一個用於編輯事件的窗體,其中用戶可以(a)在FormView中編輯事件的細節(標題,描述,日期等)和(b)查看和編輯聯繫人的ListView誰是註冊的事件。LinqDataSource/ListView用於子記錄 - 僅在保存包含記錄時保存?
這是我的LinqDataSource,它允許我添加和刪除聯繫人的事件。
<asp:linqdatasource runat="server" id="ContactsDatasource" contexttypename="Db" tablename="ContactsCalendarEventsXtabs" autogeneratewhereclause="true" enabledelete="true" enableinsert="true">
<whereparameters>
<asp:querystringparameter name="CalendarEventID" querystringfield="id" type="Int32" />
</whereparameters>
<insertparameters>
<asp:querystringparameter name="CalendarEventID" querystringfield="id" type="Int32" />
</insertparameters>
</asp:linqdatasource>
這工作正常,但它當然會保留對數據庫的更改;它只在事件已經創建時才起作用。理想情況下,我希望我的ListView更改只在FormView保存後保留(因此,如果某人對ListView進行了一些更改,然後取消了FormView,則更改將被丟棄)。同樣,我希望能夠創建一個新的事件,輸入其詳細信息,並且一次性簽署一些人的信息;當FormView保存時,它獲取該事件的新ID,然後ListView使用該ID進行保存。
在過去(Linq之前),我已經用我自己定製的FormView和SqlDataSource對象完成了這個任務,它們負責臨時保存數據更改,從FormView獲取事件ID等。使用LinqDataSource處理此場景的更標準方法?