0
我的SQLDataSource中有一個UpdateQuery,其中參數是從SessionParameter提供的。 SessionParameter的值是通過點擊gridview上的按鈕從我的代碼隱藏中設置的。SessionParameter和使用SqlDataSource更新查詢
目的是當用戶點擊gridview上的按鈕時,它通過gridview更新數據庫。我得到的問題是更新查詢沒有被執行,因爲我沒有看到用新值更新的行。我所做的調試顯示,我正在選擇的行上獲取所需的值,並且正在設置會話。
下面是相關的代碼片段:
<asp:SqlDataSource ID="JobNameDatasource" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT [JobName], [ChangedDate], [AdHocFlg] FROM [t_Config_iFace_Execution]"
UpdateCommand="UPDATE [t_Config_iFace_Execution] SET [RunJob] = 1 WHERE [JobName] = @JobName">
<UpdateParameters>
<asp:SessionParameter Name="JobName" SessionField="JobName"/>
</UpdateParameters>
</asp:SqlDataSource>
Protected Sub RunJob_RowCommand(ByVal sender As Object, ByVal e As GridViewCommandEventArgs)
If e.CommandName = "UpdateJob" Then
Dim btnRunJob As Button = TryCast(e.CommandSource, Button)
Dim gvr As GridViewRow = TryCast(btnRunJob.NamingContainer, GridViewRow)
Dim rowIndex As Integer = gvr.RowIndex
Dim Name As String = DirectCast(GridView1.DataKeys(rowIndex).Values("JobName"), String)
Session.Add("JobName", Name)
Label1.Text = Session("JobName")
End If
End Sub
任何想法,爲什麼它不工作?我認爲這將是直截了當的,除非我失去了明顯的東西?