asp.net按钮不会在updatepanel内部触发

时间:2013-01-29 17:32:18

标签: asp.net .net vb.net

我在未触发的更新面板中有一个按钮(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>

3 个答案:

答案 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>