.NET 4

2010-12-29 11 views
12

でコンパイルするとき、私は、.NET 4にASP.NETアプリケーションをアップグレードしようとしていますが、私のサイト上の1ページが例外を含むが表示され、「既に存在する同じキーを持つエントリ」:.NET 4

引数例外:同じキーを持つエントリがすでに「存在

この問題を引き起こす可能性のあるASP.NET 4程度異なっている何

enter image description here

? 210

なぜわからない一つの解決策

ではなく、むしろStaticよりclientIDMode="Predictable"を設定し、この例外メッセージを避けているようです。

+0

を参照してください?コードをデバッグし、関連するソースコードを表示します。 –

+0

私には例外がディクショナリまたは類似のコレクションからスローされたように見えます... –

+0

問題がまだ残っている場合は、エラーのポストコードと完全なスタックトレースをお願いします。 –

答えて

7

私は同じ問題があり、それを修正しました。

私はASPXページ全体を調べて、別のIDと同じIDを持つASP.NETコントロールを見つけました。

また、この修正プログラムをテストし、ページ上の別のコントロールと競合するコントロールがこのエラーを引き起こすことが判明しました。

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

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

同じページの要素をコピー/ペーストすると起こります。あなたのweb.configファイル内

+1

これはどのように可能です!ビジュアルスタジオがそれをコンパイルして重複IDを指すようにしない限り、このエラーは私を驚かせてくれます –

+0

@imanabidi VSでコピー/ペーストするとIDが変わることがありますが、それ以外の場合は変わりません。ページの各要素に固有のIDが付いていることを確認する必要があります。 –

+0

しかし、VS 2012ではコピー/貼り付けでもそれを行えません。私の問題はDropDownListアイテムの複数のItems'Selectedプロパティをtrueに設定していました。Collection –

0

これはまた、重複したIDがに

<pages clientIDMode="Static"> 
0

を可能にすることにより、エラーが発生することがあり、私はあまりにもしていない。この

<pages clientIDMode="Static">

私を解決し、このエラーを持っていますDataGridはうまく動作します:

グリッドありビュー:

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

が、追加画像フィールドの後に私は、このエラーエラーが発生した

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