У меня есть страница, содержащая панель обновления, которая включает в себя вкладку ajax tabcontrol с 4 вкладками. Каждая вкладка имеет собственный пользовательский элемент управления. На одной из вкладок есть еще одна панель обновления (используется для запуска обратной пересылки async, когда запускается конкретный выпадающий список selectedindexchange). Одна эта вкладка, у меня есть ряд элементов управления, где есть метка, которая затем заворачивает панель, которая делает из в «*», если поле является обязательным (см HTML ниже для образца):Weird UpdatePanel Issue
<asp:Label ID="lblPreferredLanguage" runat="server" Text="Preferred Language:">
<asp:Panel ID="pnlPrefLangReq" runat="server" CssClass="fieldSetRequired">
<span>*</span>
</asp:Panel>
</asp:Label>
Это все делает штраф и денди, за исключением случаев, когда пользователь нажимает кнопку «Отправить», не заполняя требуемое поле. Сайт корректно отображает сообщение об ошибке для пользователя, но при просмотре этой вкладки, его на самом деле вновь отдавая с «*» во второй раз, так что я в конечном итоге с чем-то, что выглядит как:
Preferred Language:* * [dropdown control]
I не может понять, почему его рендеринг div второй раз в этом случае. Я попытался поставить точки останова на методы рендеринга и init элемента управления, чтобы попытаться его захватить, но они никогда не запускаются (я предполагаю, что фактическая обратная передача не происходит, так как все ее внутри панели обновления). Я в недоумении. У кого-нибудь есть идеи?