2017-02-11 2 views
0

sqldatasourceを使用してOracle表のデータを表示および削除します。データはgridviewおよびdetailsviewコントロールに表示できますが、リンクを削除ボタンをクリックすると削除できません。詳細の下には、閲覧、以下の私のWebページのコードを参照してください。asp.netの詳細ビューでリンクボタンを削除しても表示されない

<%@ 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> 

が、私は削除リンクボタンをクリックすると、データは私がなぜ知られていない、削除することはできませんが、誰もが私にその理由を伝えることができますかこの問題のトラブルシューティング方法

enter image description here

+0

あなたはデータが削除されていないと思いますか?削除リンクをクリックすると、エラーがスローされますか? –

+0

エラーが発生していない – user2575502

+0

下記の解決方法を試しましたか? –

答えて

0

あなたはDeteteParameterがそこからパラメータ値を取得するようにたDetailsViewのDataKeyNamesプロパティを設定する必要があります。

<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> 
関連する問題