如何在Asp.Net中的GridView中使用delete
我需要一种方法来获取在数据绑定GridView中单击Delete按钮的行的列的值。数据绑定GridView中的值是来自链接表的值,在其中一行上单击Delete后,我希望从数据库中删除该条目 这是我的网格视图如何在Asp.Net中的GridView中使用delete,asp.net,Asp.net,我需要一种方法来获取在数据绑定GridView中单击Delete按钮的行的列的值。数据绑定GridView中的值是来自链接表的值,在其中一行上单击Delete后,我希望从数据库中删除该条目 这是我的网格视图 <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AutoGenerateColumns="False" DataSourceID="SqlDataSource
<asp:GridView
ID="GridView1"
runat="server"
AllowPaging="True"
AutoGenerateColumns="False"
DataSourceID="SqlDataSource1"
DataKeyNames="Session[userId'],courseId" //< ? for 'userId'
style="z-index: 1; left: 222px; top: 139px; position: absolute; height: 299px; width: 458px">
<Columns>
<asp:CommandField ShowDeleteButton="True" />
<asp:BoundField DataField="department" HeaderText="Department" SortExpression="department" />
<asp:BoundField DataField="courseCode" HeaderText="Course" SortExpression="courseCode" />
<asp:BoundField DataField="courseName" HeaderText="Name" SortExpression="courseName" />
</Columns>
</asp:GridView>
这是我目前正在进行的SQLDataSource工作。我需要上面的courseCode和courseName值从不同的表中选择一个唯一的courseId,我使用该courseId和会话变量session[userId]从我的表中删除条目,从而更新我的GridView
这里必须指出,我的select语句只接受一个变量,它使用Session[userId],而我的delete语句不仅使用Session[userId],它还使用另外两个变量
<asp:SqlDataSource
ID="SqlDataSource1"
runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="GetPreviouslyTakenCourses"
SelectCommandType="StoredProcedure"
DeleteCommand="DELETE FROM UserHasCourse WHERE UserHasCourse.userId=@userId AND (SELECT Id FROM Courses WHERE courseCode=@courseCode AND courseName=@courseName)">
<SelectParameters>
<asp:SessionParameter DefaultValue="1" Name="userId" SessionField="userId" Size="10" Type="Int32" />
</SelectParameters>
<DeleteParameters>
<asp:SessionParameter Name="userId" SessionField="userId" />
<asp:Parameter Name="courseCode" />
<asp:Parameter Name="courseName" />
</DeleteParameters>
</asp:SqlDataSource>
我知道我遗漏了一些东西,如果需要更多信息,我可以更新我的问题
更新1:需要将DataKeyName移动到GridView中。另外一个问题是如何将会话变量传递到DataKeyName中
更新2:ControlID已删除。ControlParameter更改为SQLDataSource内的参数是否正确
更新3:我是否能够在select查询中获取与会话[userId]相等的userId值,并将其隐藏,从而能够在delete语句中使用它