«Запись с таким же ключом уже существует» появляется при компиляции в .NET 4 - PullRequest
12 голосов
/ 29 декабря 2010

Я пытаюсь обновить приложение ASP.NET до .NET 4, но одна страница на моем сайте содержит исключение:

Исключение аргумента: запись с тем же ключом уже существует ".

Чем отличается ASP.NET 4 от этой проблемы?

enter image description here

Одно решение

Не уверен, почему, но установка clientIDMode="Predictable" вместо Static, похоже, избежала этого сообщения об исключении.

Ответы [ 3 ]

7 голосов
/ 20 июля 2012

У меня была такая же проблема и я ее исправил.

Я просмотрел всю страницу ASPX и обнаружил элемент управления ASP.NET, у которого тот же идентификатор, что и у другого.

Я также протестировал это исправление и обнаружил, что любой элемент управления, конфликтующий с другим элементом управления на странице, вызовет эту ошибку.

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

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

Это происходит, когда вы копируете / вставляете элементы на одной странице.

0 голосов
/ 06 января 2015

У меня тоже есть эта ошибка, и я не могу ее исправить

<pages clientIDMode="Static">

моя сетка данных работает нормально:

У меня есть 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: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>
0 голосов
/ 12 мая 2014

Это в вашем файле web.config может также вызвать ошибку, допуская дубликаты идентификаторов

<pages clientIDMode="Static">
...