我在aspx页面中使用了两个更新面板。我的页面还包含其他控件,其中大多数是文本框。一些文本框使用ajaxwater标记扩展器。我的问题是当面板的一部分被更新时,水印文本框也被更新。我怎样才能防止这种情况发生? 我的页面就像 ....一些其他控件然后
<asp:UpdatePanel runat="server" ID="upPanelTestRoll">
<ContentTemplate>
<fieldset style="height: 70px; float: left; width: 350px;">
<legend>Submission</legend>
<asp:CheckBox ID="chkSubmitted" runat="server" Height="25px" Width="25px" AutoPostBack="true" />
<label for="chkSubmitted">
Submitted</label>
<label for="txtSubmissionDate">
Submission Date</label>
<asp:TextBox ID="txtSubmissionDate" runat="server" Height="12px" Enabled="false"></asp:TextBox>
<cc1:CalendarExtender ID="txtSubmissionDate_CalendarExtender" runat="server" Enabled="True"
TargetControlID="txtSubmissionDate">
</cc1:CalendarExtender>
<%--<asp:CheckBox ID="chkTestToAppear" runat="server" Height="25px" Width="25px" />
<label for="">
Test To Appear</label>--%>
<br />
<label for="txtAdmissionTestRoll">
Admission Test Roll
</label>
<asp:TextBox ID="txtAdmissionTestRoll" runat="server" Enabled="false"></asp:TextBox>
</ContentTemplate>
</asp:UpdatePanel>
如何优化代码?
答案 0 :(得分:1)
将UpdatePanel.UpdateMode更改为有条件。
UpdatePanel控件的内容在以下内容中更新 condition:如果调用UpdatePanel控件的Update方法 明确。
如果使用Triggers属性将控件定义为触发器 UpdatePanel控件并导致回发。在这种情况下, control是更新面板内容的显式触发器。该 触发器控件可以在UpdatePanel内部或外部 定义触发器的控件。
如果ChildrenAsTriggers属性设置为true并且是子控件 UpdatePanel控件导致回发。在这种情况下,孩子 UpdatePanel控件的控件是用于更新的隐式触发器 小组。嵌套的UpdatePanel控件的子控件不会导致 除非明确指出,否则要更新外部UpdatePanel控件 定义为触发器。