Моя цель - позволить пользователю вводить заголовок заказа и подробные данные и сохранять все это одним нажатием кнопки, в одной транзакции, чтобы сохранить все или ничего.
Например:
Tables:
OrderHeader:
Id,
CustomerId,
Comments,
OrderDate,
OrderLine
Id,
OrderId FK => OrderHeader
ProductId,
Quantity
Markup (abbreviated):
<asp:FormView ID="uxFormHeaderInfo" runat="server" DataSourceID="headerDataSource">
<InsertItemTemplate>
<%--Header Fields--%>
.....
<asp:GridView ID="uxDetails" runat="server" DataSourceID="detailsDataSource">
<%-- Markup --%>
.....
</asp:GridView>
<asp:Button ID="uxSave" runat="server" CommandName="Insert" />
</InsertItemTemplate>
</asp:FormView>
На странице у меня будет элемент управления FormView, который будет содержать поля редактирования для CustomerId и комментариев, также у меня будет вложенный вид сетки или список, к которому я мог бы добавить позиции. Элементы управления FormView и gridview, скорее всего, будут связаны с независимыми элементами управления источниками данных. Я хочу, чтобы пользователь ввел информацию заголовка и позиции и щелкнул «Сохранить» только один раз в нижней части экрана.
Возможно ли это даже с использованием объектов LinqDataSource или ObjectDatasource? Если да, то можете ли вы указать мне хороший пример, который показывает, как сделать это при вставке в основной / подробный стиль, которая затрагивает 2 или более таблиц одним нажатием кнопки? Заранее спасибо.
[Изменить]
Изучив отзывы и обдумав эту тему, я пришел к выводу, что элементы управления источниками данных - просто неподходящий инструмент для работы. Так как они не могут по-настоящему справиться с делом, как это, это действительно ставит под сомнение их полезность ИМХО. Так много для нового пути ...