奇怪的UpdatePanel问题

时间:2014-02-18 17:23:01

标签: c# asp.net updatepanel

我有一个页面,其中包含一个更新面板,该面板包含带有4个选项卡的ajax tabcontrol。每个选项卡都有自己的用户控件。其中一个选项卡具有另一个更新面板(用于在触发特定下拉列表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方法上设置断点以尝试捕获它但它们永远不会被触发(我假设因为没有实际的回发发生,因为它全部在更新面板内)。我不知所措。有没有人有任何想法?

1 个答案:

答案 0 :(得分:0)

实际上忽略了这个。它与更新面板无关。控件上有一个必需的字段验证器,由于某种原因它在控件之前而不是之后呈现(这就是为什么有第二个“”,因为所需字段验证器的Text属性设置为““)。问题(sorta)解决了。