我有一个带有 UpdatePanel 的 ASP.NET 表单。我为该 UpdatePanel 定义了两个 AsyncPostBackTrigger;两者都是按钮,它们都做同样的事情(一个在窗体的顶部,另一个在窗体的底部),两者的触发事件名称都是“单击”。
加载页面后,我立即收到错误消息“在 UpdatePanel 'updIncidentDetails' 中找不到触发器的 ID 为 'btnSaveChangesBtm' 的控件。” 这个错误没有任何意义,因为我看了一下,那里有控件'btnSaveChangesBtm',一清二楚。
这是标记的相关片段,以防有人看到我遗漏的东西。我对此一无所知。
<asp:UpdatePanel ID="updIncidentDetails" runat="server">
<ContentTemplate>
<div id="pnlIncidentDetails" runat="server" class="formPanel">
<h2>Incident Details</h2>
<div id="saveButton" style="float: right; margin-right: 100px; display: none;">
<asp:Button ID="btnSaveChanges" runat="server" OnClientClick="return valEditedFields();" OnClick="btnSubmit_Click" Text="Save Changes" />
<asp:Button ID="btnCancel" runat="server" OnClientClick="return hideEditFields(true);" OnClick="btnCancel_Click" Text="Cancel Changes" />
</div>
...
<div id="saveButtonBtm" style="float: right; display: none;">
<br />
<asp:Button ID="btnSaveChangesBtm" runat="server" OnClientClick="return valEditedFields();" OnClick="btnSubmit_Click" Text="Save Changes" />
<asp:Button ID="btnCancelBtm" runat="server" OnClientClick="return hideEditFields(true);" OnClick="btnCancel_Click" Text="Cancel Changes" />
<br />
</div>
</div>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnSaveChanges" EventName="Click" />
<asp:AsyncPostBackTrigger ControlID="btnSaveChangesBtm" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
我首先认为这是因为我有“显示:无;” 在“saveButtonBtm”<div> 上设置,但后来我意识到在顶部的那个(“saveButton”)上设置了相同的东西,所以我不认为就是这样。还有其他建议吗?
这是错误的图像: