“删除链接”按钮在asp.net的详细视图中不起作用

“删除链接”按钮在asp.net的详细视图中不起作用,asp.net,gridview,Asp.net,Gridview,我使用sqldatasource显示和删除Oracle表中的数据,数据可以显示在gridview和detailsview控件中,但当我单击details视图底部的delete link按钮时无法删除,请参见下面的我的网页代码: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Master.aspx.cs" Inherits="HarnessMaintain.Pages.Master" %> <!DOCTYPE

我使用sqldatasource显示和删除Oracle表中的数据,数据可以显示在gridview和detailsview控件中,但当我单击details视图底部的delete link按钮时无法删除,请参见下面的我的网页代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Master.aspx.cs" Inherits="HarnessMaintain.Pages.Master" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="ID"
            DataSourceID="SqlDataSource1">
            <Columns>
                <asp:CommandField ShowSelectButton="True" />
                <asp:BoundField DataField="ID" HeaderText="ID" ReadOnly="True" SortExpression="ID" />
                <asp:BoundField DataField="MODE_TYPE" HeaderText="MODE_TYPE" SortExpression="MODE_TYPE" />
                <asp:BoundField DataField="PARTNER_NAME" HeaderText="PARTNER_NAME" SortExpression="PARTNER_NAME" />
            </Columns>
        </asp:GridView>
        <br />
        <asp:DetailsView ID="DetailsView1" runat="server" Height="50px" Width="125px" DataSourceID="SqlDataSource2"
            OnItemDeleted="DetailsView1_ItemDeleted" OnItemInserted="DetailsView1_ItemInserted"
            OnItemUpdated="DetailsView1_ItemUpdated">
            <Fields>
                <asp:CommandField ShowDeleteButton="True" />
            </Fields>
        </asp:DetailsView>
        <br />
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
            ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>" SelectCommand="SELECT &quot;ID&quot;, &quot;MODE_TYPE&quot;, &quot;PARTNER_NAME&quot; FROM &quot;MSWSCEMASTER&quot; ORDER BY &quot;ID&quot;">
        </asp:SqlDataSource>
        <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
            DeleteCommand="DELETE FROM &quot;MSWSCEMASTER&quot; WHERE &quot;ID&quot; =:ID"
            ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>" SelectCommand="SELECT * FROM &quot;MSWSCEMASTER&quot; WHERE (&quot;ID&quot; = :ID)">
            <DeleteParameters>
                <asp:Parameter Name=":ID" Type="Decimal" />
            </DeleteParameters>
            <SelectParameters>
                <asp:ControlParameter ControlID="GridView1" Name="ID" PropertyName="SelectedValue"
                    Type="Decimal" />
            </SelectParameters>
        </asp:SqlDataSource>
    </div>
    </form>
</body>
</html>


您需要设置DetailsView的DataKeyNames属性,以便DetteParameter从中获取参数值

<asp:DetailsView ID="DetailsView1" runat="server" Height="50px" Width="125px" DataSourceID="SqlDataSource2" DataKeyNames="ID"
        OnItemDeleted="DetailsView1_ItemDeleted" OnItemInserted="DetailsView1_ItemInserted"
        OnItemUpdated="DetailsView1_ItemUpdated">
    <Fields>
        <asp:CommandField ShowDeleteButton="True" />
    </Fields>
</asp:DetailsView>


是什么让您认为数据没有被删除?当您单击“删除”链接时,它是否会引发任何错误?没有任何错误您是否尝试我在下面提供的解决方案?