2016-06-21 9 views
0

私はストアドプロシージャと選択と更新コマンドを使って設定したグリッドビューを持っています。既存のサーバー側変数を使用して行が更新されるたびに、ユーザーIDフィールドを自動的に更新したいと思います。私は既にインターフェイスと私のSQL Serverのストアドプロシージャを使用して、選択と更新のプロシージャとコマンドを設定しました。どんな支援も大歓迎です。グリッドビューの更新時に現在のIDを渡す方法

+0

'GridView'は' DataKeyNames'という名前の属性を持っています。それを使ってみてください。 –

+0

私はDataKeyNamesがプライマリキーのためだと思った。どんな分野でも使えますか? – WedgeBuster53

+0

まさに 'DataKeyNames'は' PK'です。この値を使用して正確な行(PKによる)を更新します。 –

答えて

0
  1. 現在のセッション変数にログインしているユーザーを書く:

    protected void Page_Load(object sender, EventArgs e) 
    { 
        Session["UserID"] = Request.ServerVariables("LOGON_USER"); 
    } 
    
  2. 変更SqlDataSourceUpdateParametersストアドプロシージャの更新が呼び出されたときにセッションからUserIDパラメータを移植しますSessionParameterを持っています。

    <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:conn %>" UpdateCommand="UpdateStoredProcedure" UpdateCommandType="StoredProcedure"> 
        <UpdateParameters> 
         <asp:Parameter Name="ID" Type="Int32" /> 
         <asp:Parameter Name="FirstName" Type="String" /> 
         <asp:Parameter Name="LastName" Type="String" /> 
         <asp:SessionParameter Name="UserID" SessionField="UserID" Type="Int32" /> 
        </UpdateParameters> 
    </asp:SqlDataSource> 
    
関連する問題