Подтвердить что ты не робот

"Запись с тем же ключом уже существует" появляется при компиляции в .NET 4

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

Argument Exception: запись с тем же ключом уже существует ".

В чем отличие ASP.NET 4, который может вызвать эту проблему?

enter image description here

Одно решение

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

4b9b3361

Ответ 1

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

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

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

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

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

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

Ответ 2

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

<pages clientIDMode="Static">

Ответ 3

У меня тоже есть эта ошибка и не разрешаю с этим

<pages clientIDMode="Static">

my datagrid отлично работает:

У меня есть 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>