0
私はストアドプロシージャと選択と更新コマンドを使って設定したグリッドビューを持っています。既存のサーバー側変数を使用して行が更新されるたびに、ユーザーIDフィールドを自動的に更新したいと思います。私は既にインターフェイスと私のSQL Serverのストアドプロシージャを使用して、選択と更新のプロシージャとコマンドを設定しました。どんな支援も大歓迎です。グリッドビューの更新時に現在のIDを渡す方法
私はストアドプロシージャと選択と更新コマンドを使って設定したグリッドビューを持っています。既存のサーバー側変数を使用して行が更新されるたびに、ユーザーIDフィールドを自動的に更新したいと思います。私は既にインターフェイスと私のSQL Serverのストアドプロシージャを使用して、選択と更新のプロシージャとコマンドを設定しました。どんな支援も大歓迎です。グリッドビューの更新時に現在のIDを渡す方法
現在のセッション変数にログインしているユーザーを書く:
protected void Page_Load(object sender, EventArgs e)
{
Session["UserID"] = Request.ServerVariables("LOGON_USER");
}
変更SqlDataSource
UpdateParameters
ストアドプロシージャの更新が呼び出されたときにセッションから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>
'GridView'は' DataKeyNames'という名前の属性を持っています。それを使ってみてください。 –
私はDataKeyNamesがプライマリキーのためだと思った。どんな分野でも使えますか? – WedgeBuster53
まさに 'DataKeyNames'は' PK'です。この値を使用して正確な行(PKによる)を更新します。 –