2010-12-29 9 views
12
zusammengestellt

ich versuche eine ASP.NET-Anwendung auf .NET 4, aber eine Seite auf meiner Website zu aktualisieren enthält eine Ausnahme:„Ein Eintrag mit demselben Schlüssel ist bereits vorhanden“ erscheint, wenn unter .NET 4

Argument Ausnahme: ein Eintrag mit demselben Schlüssel ist bereits vorhanden“

Was ist ASP.NET unterscheidet 4, die dieses Problem verursachen könnten

enter image description here

.? 210

One-Lösung

nicht sicher, warum, aber clientIDMode="Predictable" anstatt Static Einstellung scheint diese Ausnahmemeldung vermieden zu haben.

+0

Wo tritt der Fehler auf? Debuggen Sie Ihren Code und zeigen Sie uns den entsprechenden Quellcode. –

+0

Für mich sieht es aus wie die Ausnahme aus dem Wörterbuch oder ähnliche Sammlung geworfen wird ... –

+0

, wenn das Problem immer noch besteht bitte Postleitzahl und vollständige Stack-Trace des Fehlers. –

Antwort

7

Ich hatte das gleiche Problem und reparierte es.

Ich ging durch meine gesamte ASPX-Seite und fand ASP.NET-Steuerelement, das dieselbe ID wie ein anderes hatte.

Ich habe dieses Update auch getestet und festgestellt, dass jedes Steuerelement, das zu einem anderen Steuerelement auf der Seite führt, diesen Fehler verursacht.

<asp:Label ID="FailureText" runat="server" EnableViewState="False" ClientIDMode="Static" /> 

<asp:Label ID="FailureText" runat="server" EnableViewState="False" ClientIDMode="Static" /> 

Es passiert, wenn Sie Elemente auf der gleichen Seite kopieren/einfügen.

+1

wie ist das möglich! es sei denn, Visual Studio lässt es nicht kompilieren und verweist auf die Duplikat-ID. Dieser Fehler macht mich verrückt –

+0

@imanabidi wenn Sie VS kopieren/einfügen manchmal ändert es die ID, andere Male, tut es nicht. Sie müssen sicherstellen, dass jedes Element auf der Seite über eine eindeutige ID verfügt. –

+0

aber in VS 2012 lässt es mich das nicht einmal mit copy/paste.wie auch immer mein Problem war Einstellung mehrere Items'Ausgewählte Eigenschaft gleich True in DropDownList Artikel Sammlung –

0

Diese in Ihrer web.config kann auch den Fehler verursachen, indem doppelte IDs

<pages clientIDMode="Static"> 
0

Ich habe diesen Fehler zu und nicht lösen mit diesem

<pages clientIDMode="Static">

mein Datagrid funktioniert gut das:

Ich habe Gitter Ausblick:

<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="ID" DataSourceID="SqlDataSource1"> 
        <Columns> 
         <asp:CommandField ShowDeleteButton="True" ShowEditButton="True" ButtonType="Button" CancelText="لغو" DeleteText="حذف" EditText="ويرايش" UpdateText="بروزرساني"> 
          <ControlStyle CssClass="btn btn-xs btn-default" /> 
          <ItemStyle Width="143px" /> 
         </asp:CommandField> 



         <asp:BoundField DataField="ID" HeaderText="#" InsertVisible="False" ReadOnly="True" SortExpression="ID" /> 
         <asp:BoundField DataField="Title" HeaderText="عنوان" SortExpression="Title" /> 
         <asp:BoundField DataField="ParentID" HeaderText="پدر" SortExpression="ParentID" /> 
         <asp:BoundField DataField="Url" HeaderText="آدرس" SortExpression="Url"> 
          <ItemStyle CssClass="ltr"></ItemStyle> 
         </asp:BoundField> 

         <asp:BoundField DataField="Icon" HeaderText="آيکون" SortExpression="Icon" /> 

         <asp:BoundField DataField="Order" HeaderText="اولويت" SortExpression="Order" /> 

        </Columns> 
       </asp:GridView> 

aber nach Add Bildfeld ich diesen Fehler sehen

 <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="ID" DataSourceID="SqlDataSource1"> 
        <Columns> 
         <asp:CommandField ShowDeleteButton="True" ShowEditButton="True" ButtonType="Button" CancelText="لغو" DeleteText="حذف" EditText="ويرايش" UpdateText="بروزرساني"> 
          <ControlStyle CssClass="btn btn-xs btn-default" /> 
          <ItemStyle Width="143px" /> 
         </asp:CommandField> 


         <asp:ImageField ReadOnly="true" SortExpression="Icon" DataImageUrlField="icon"> 
         </asp:ImageField> 

         <asp:BoundField DataField="ID" HeaderText="#" InsertVisible="False" ReadOnly="True" SortExpression="ID" /> 
         <asp:BoundField DataField="Title" HeaderText="عنوان" SortExpression="Title" /> 
         <asp:BoundField DataField="ParentID" HeaderText="پدر" SortExpression="ParentID" /> 
         <asp:BoundField DataField="Url" HeaderText="آدرس" SortExpression="Url"> 
          <ItemStyle CssClass="ltr"></ItemStyle> 
         </asp:BoundField> 

         <asp:BoundField DataField="Icon" HeaderText="آيکون" SortExpression="Icon" /> 

         <asp:BoundField DataField="Order" HeaderText="اولويت" SortExpression="Order" /> 

        </Columns> 
       </asp:GridView> 
Verwandte Themen