1

我在未触发的更新面板中有一个按钮(btnTransferAccept)。我将它添加为触发器,但它仍然什么也不做。该按钮应该触发 javascript 警报。如果我删除更新面板之外的按钮,它工作正常。

有任何想法吗?谢谢

这是我的代码:

 <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>
4

3 回答 3

1

不确定这是否是问题所在,但请尝试将触发器移动到内容模板下方。您的代码应如下所示:

<ContentTemplate>
....
</ContentTemplate>
<Triggers>
  <asp:AsyncPostBackTrigger ControlID="gvTransferOwner" />
  <asp:AsyncPostBackTrigger ControlID="btnTransferAccept" />
</Triggers>
</asp:UpdatePanel>
于 2013-02-19T16:23:23.100 回答
1

您需要将 javascript 警报放在 PageLoad 事件中,而不是 window onload 或 jquery ready 事件中。

下面的链接会给你详细的解释。

http://encosia.com/document-ready-and-pageload-are-not-the-same/

于 2013-02-19T16:26:01.323 回答
0

在执行更新面板时,尝试将所有 ctrl 与更新面板放在一起

       </ContentTemplate>
        <Triggers>
        <asp:AsyncPostBackTrigger ControlID="gvTransferOwner" />
        <asp:AsyncPostBackTrigger ControlID="btnTransferAccept" />
        </Triggers>
       </asp:UpdatePanel>

   and the whole with in a <div>
于 2014-02-05T08:38:48.907 回答