0

我的目标是允许用户输入订单标题和详细数据,并在一次交易中通过单击按钮将其全部保存,因此保存全部或全部。

例如:

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 和 Comments 的编辑字段,我也有一个嵌套的网格视图或列表视图,我可以添加行项目。FormView 和gridview 控件很可能链接到独立的数据源控件。我想要发生的是让用户输入标题信息和行项目,然后在屏幕底部单击一次保存。

这甚至可以使用 LinqDataSource 或 ObjectDatasource 对象吗?如果是这样,您能否指出一个很好的示例,该示例显示如何在主/详细样式插入中执行此操作,只需单击一次按钮即可命中 2 个或更多表?提前致谢。

[编辑]

在查看反馈并围绕该主题进行搜索后,我得出结论,数据源控件只是适合这项工作的错误工具。由于他们无法真正处理像这样行人的案件,因此确实令人质疑他们的有用性恕我直言。新方法就这么多了……

4

1 回答 1

1

我认为这不适用于 DataSource。至少我不知道。我会自己处理保存操作。在保存按钮的 Click 事件中,读取用户输入的值,将其封装在事务中并调用您的业务功能。

于 2010-10-12T01:27:34.373 回答