0

私の目標は、ユーザーが注文ヘッダーと詳細データを入力し、ボタンを1回クリックするだけですべてを保存できるようにすることです。これにより、保存はすべてまたはまったく行われません。

例えば:

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>

このページには、CustomerIdとCommentsの編集フィールドを含むFormViewコントロールがあり、ラインアイテムを追加できるネストされたグリッドビューまたはリストビューもあります。FormViewおよびgridviewコントロールは、ほとんどの場合、独立したデータソースコントロールにリンクされます。私がしたいのは、ユーザーがヘッダー情報とラインアイテムを入力し、画面の下部にある[保存]をクリックすることです。

これは、LinqDataSourceまたはObjectDatasourceオブジェクトを使用しても可能ですか?もしそうなら、ボタンを1回クリックするだけで2つ以上のテーブルにヒットするマスター/詳細スタイルの挿入でこれを行う方法を示す良い例を教えていただけますか?前もって感謝します。

[編集]

フィードバックを確認し、このテーマについて調べた結果、データソースコントロールはこの仕事には不適切なツールであると結論付けました。彼らはこのように歩行者のような事件を実際に扱うことができないので、それは本当に彼らの有用性を私見に疑問視します。新しい方法についてはこれだけです...

4

1 に答える 1

1

これは DataSource では機能しないと思います。少なくとも私が知っていることではありません。保存操作は自分で処理します。保存ボタンの Click イベントで、ユーザーが入力した値を読み取り、それをトランザクションにカプセル化し、ビジネス関数を呼び出します。

于 2010-10-12T01:27:34.373 に答える