div с id = & # 8220; end & # 8221; на главной странице разрывы. NET проверки

StackOverflow https://stackoverflow.com/questions/246289

Вопрос

Краткая информация: я использую последний выпуск .NET 2.0, а ниже приведена урезанная тестовая страница, которую я написал для воспроизведения ошибки.

Исключая биты заголовка, (нет включенного / встроенного CSS или JavaScript) Моя страница контента выглядит следующим образом:

<asp:Content ID="Content1" ContentPlaceHolderID="cphMain" runat="server">
<div>
    <asp:ValidationSummary ID="ValidationSummary1" runat="server" />
    <asp:TextBox ID="txtStuff" runat="server"></asp:TextBox>
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtStuff" Display="None" ErrorMessage="need to fill it with words">  </asp:RequiredFieldValidator>
    <asp:Button ID="bClick" runat="server" Text="Kerlick" />
</div>
</asp:Content>

Моя главная страница (исключая биты заголовка) выглядит следующим образом:

<body>
<form runat="server" id="Form1">
                <div>
                    <asp:ContentPlaceHolder ID="cphMain" runat="server">
                    </asp:ContentPlaceHolder>
                </div>
                <div id="end">

                </div>
</form>
</body>

При нажатии кнопки на странице выдается " ошибка времени выполнения Microsoft JScript: объект не поддерживает это свойство или метод " ошибка в WebResource.axd в функции ValidationSummaryOnSubmit (validationGroup) (строка 512).

Оказывается, если я изменю идентификатор элемента div с помощью ID = " end " на что-то отличное от " end " это решает проблему.

Теперь, я исправил эту проблему, но мне интересно, почему это вообще сломается?

Возможно ли, что сводка проверки отображает div с тем же идентификатором и где-то запутывается?

Это было полезно?

Решение

Один способ узнать наверняка.

Загрузите firebug, вызовите валидацию и изучите страницу, чтобы увидеть, какие новые элементы были добавлены.

Обычно дубликат идентификатора не создает проблемы, плюс у вас не установлен сервер runat, поэтому он не является серверным элементом управления.

Очень интересно

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top