首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >您使用哪个参数来检索GridView中的列值?

问您使用哪个参数来检索GridView中的列值?
EN

Stack Overflow用户
提问于 2013-12-02 16:02:03
回答 1查看 492关注 0票数 0

我需要为显示在我的GridView中的结果做一个delete语句。此delete语句必须使用某些列本身作为delete语句中的参数。

我的网格视图是:

代码语言:javascript
复制
 <asp:GridView 
        ID="GridView1" 
        runat="server" 
        AllowPaging="True" 
        AutoGenerateColumns="False" 
        DataSourceID="SqlDataSource1"
        style="z-index: 1; left: 222px; top: 139px; position: absolute; height: 299px; width: 458px" DataKeyNames="Id">
        <Columns>
            <asp:CommandField ShowDeleteButton="True" />
            <asp:BoundField DataField="Column1" HeaderText="Column1" SortExpression="Column1" ReadOnly="True" Visible="False" />
            <asp:BoundField DataField="Id" HeaderText="Id" SortExpression="Id" ReadOnly="True" Visible="False" />
            <asp:BoundField DataField="department" HeaderText="department" SortExpression="department" />
            <asp:BoundField DataField="courseCode" HeaderText="courseCode" SortExpression="courseCode" />
            <asp:BoundField DataField="courseName" HeaderText="courseName" SortExpression="courseName" />
        </Columns>
    </asp:GridView>

我需要使用我的SELECT查询(存储在存储过程中)中的"Column1“和"Id”来执行在Gridview上单击" DELETE“按钮时运行的Delete查询。可能会发生的一个问题是select语句使用一个主键,但我的delete语句需要两个主键( "Column1“和"Id"),因此我不知道将DataKeyNames设置为什么。

下面是SQLDataSource:

代码语言:javascript
复制
<asp:SqlDataSource 
        ID="SqlDataSource1" 
        runat="server" 
        ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
        SelectCommand="GetPreviouslyTakenCourses" 
        SelectCommandType="StoredProcedure"
        DeleteCommand="DELETE FROM UserHasCourse WHERE UserHasCourse.userId=@Column1 AND UserHasCourse.courseId=@Id"
        DeleteCommandType="Text">
        <SelectParameters>
            <asp:SessionParameter DefaultValue="1" Name="userId" SessionField="userId" Size="10" Type="Int32" />
        </SelectParameters>
        <DeleteParameters>
            <asp:Parameter Name="Column1" Type="Int32" />
            <asp:Parameter Name="Id" Type="Int32" />
        </DeleteParameters>
    </asp:SqlDataSource>

到目前为止,当我在GridView上点击“删除”时什么都没有发生,所以我可以想象我所遇到的问题几乎是固定的。我可以想象<asp:Parameter有问题,但我不知道是什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-02 16:07:31

应该将DataKeyNames设置为

代码语言:javascript
复制
DataKeyNames="Column1,Id"

这个问题是固定的

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20332496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档