0

私のページ読み込みイベントは次のようになります....

    SqlDataSource1.ConnectionString = Connection.ConnectionStr;

    SqlDataSource1.SelectCommand = "select firstname,lastname from customer";

    SqlDataSource1.InsertCommand = "CustRec_iu";
    SqlDataSource1.InsertCommandType = SqlDataSourceCommandType.StoredProcedure; 

    SqlDataSource1.InsertParameters.Clear();

    SqlDataSource1.InsertParameters.Add(new Parameter("firstname", DbType.String));
    SqlDataSource1.InsertParameters.Add(new Parameter("LastName", DbType.String));
    SqlDataSource1.InsertParameters.Add(new Parameter("Active",DbType.Int16,"1"));

detailview コントロールの設定はこんな感じ…。

      <asp:DetailsView ID="dvCustDetails1" runat="server" AutoGenerateRows="False" 
            DataSourceID="SqlDataSource1" Height="149px" Width="469px"
            OnItemInserted=dvCustDetails1_ItemInserted

            >
            <Fields>
                <asp:BoundField DataField="FirstName" HeaderText="First Name" 
                    SortExpression="FirstName" />
                <asp:BoundField DataField="LastName" HeaderText="Last Name" 
                    SortExpression="LastName" />
                <asp:CommandField ButtonType="Button" ShowInsertButton="True" />
            </Fields>
        </asp:DetailsView>

挿入機能が完了した直後に、ID 列である顧客テーブルから custid を取得し、それを抽出して、そのレコードを含むテーブルを選択したいと考えています。

select * from customer where custid = @custid.

次に、挿入後にコントロールがレンダリングされた後、上記の選択ステートメントに基づいて、新しく挿入されたレコードを表示したいと思います。

また、詳細ビューに更新ボタンを表示して、レコードを更新できるようにしたいと思います。

どうすればそれを達成できますか??

グーグル検索や印刷本でさえ、そこにあるドキュメントはほとんど見つかりません。

4

1 に答える 1

0

SQL 呼び出しからの戻りパラメーターで sqldatasource の OnSelected イベントを使用したいと考えています。

これを sqldatasource に追加します

OnSelected ="sqlds_Selected"

次のように実装します。

protected void sqlds_Selected(object sender, SqlDataSourceStatusEventArgs e)
{
    //get the command object from the arg and
    //then you can get to the parameter value

    e.Command.Parameters["@CustomerID"].Value

   //then set this to your detailsview key

}
于 2009-02-27T03:04:52.177 に答える