【发布时间】:2014-02-18 17:23:00
【问题描述】:
我有一个包含更新面板的页面,该面板包含一个带有 4 个选项卡的 ajax 选项卡控件。每个选项卡都有自己的用户控件。其中一个选项卡有另一个更新面板(用于在触发特定下拉列表 selectedindexchanged 事件时触发异步回发)。在此选项卡中,我有许多控件,其中有一个标签,然后包装一个面板,如果该字段是必需的,则该面板呈现出一个“*”(有关示例,请参见下面的 HTML):
<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]
我无法弄清楚为什么在这种情况下它会第二次渲染 div。我尝试在控件的 render 和 init 方法上放置断点以尝试捕获它,但它们从未被触发(我假设是因为没有发生实际的回发,因为它都在更新面板中)。我不知所措。有人有什么想法吗?
【问题讨论】:
标签: c# asp.net updatepanel