我在未触发的更新面板中有一个按钮(btnTransferAccept)。我添加它作为触发器,它仍然没有做任何事情。该按钮应该发出一个javascript警报。如果我删除updatepanel外部的按钮,它可以正常工作。
有什么想法吗?感谢
这是我的代码:
<asp:UpdatePanel ID="pnlTransferOwnership" ChildrenAsTriggers="true" runat="server" >
<Triggers>
<asp:AsyncPostBackTrigger ControlID="gvTransferOwner" />
<asp:AsyncPostBackTrigger ControlID="btnTransferAccept" />
</Triggers>
<ContentTemplate>
<asp:Gridview id="gvTransferOwner" CellPadding="0" GridLines="None" CellSpacing="0" runat="server" AutoGenerateColumns="false"
onrowcommand="gvTransferOwner_RowCommand">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:HiddenField ID="hfID" Value='<%#Eval("ID") %>' runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="FirstName" HeaderText="First Name" />
<asp:BoundField DataField="LastName" HeaderText="Last Name" />
<asp:BoundField DataField="EmailAddress" HeaderText="Email Address" />
<asp:buttonfield buttontype="Button" commandname="Select" headertext="Transfer" text="Select" />
</Columns>
</asp:Gridview>
<div class="ui-dialog-buttonset">
<asp:Button ID="btnTransferAccept" runat="server" CssStyle="display: none;" Text="Transfer" cssClass="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
答案 0 :(得分:1)
不确定这是否是问题,但尝试将触发器移动到内容模板下方。您的代码应如下所示:
<ContentTemplate>
....
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="gvTransferOwner" />
<asp:AsyncPostBackTrigger ControlID="btnTransferAccept" />
</Triggers>
</asp:UpdatePanel>
答案 1 :(得分:1)
您需要将您的javascript警报放在Page Load事件中,而不是window onload vs jquery ready事件。
以下链接会为您提供详细说明。
http://encosia.com/document-ready-and-pageload-are-not-the-same/
答案 2 :(得分:0)
而doin更新面板尝试将所有ctrls放在更新面板中
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="gvTransferOwner" />
<asp:AsyncPostBackTrigger ControlID="btnTransferAccept" />
</Triggers>
</asp:UpdatePanel>
and the whole with in a <div>