2

我有使用 updatepanel 的 aspx 页面

我放置在页面中间的一些功能比按钮客户端单击我无法调用它们。

像这样的代码不起作用

情况1:

<%--some html--%>
<asp:Button ID="btnBotton" runat="server" OnClientClick="return callfunction();" Text="Submit"/>
    <asp:UpdatePanel runat="server">
        <ContentTemplate>
        <%--some content here--%>
        </ContentTemplate>
        <Triggers>
            <%--async trigger --%>
        </Triggers>
    </asp:UpdatePanel>
    <script type="text/javascript">
        function callfunction() {//function placed at the middle of page
            alert('hello');
        }
    </script>
    <%--some html again--%>
</asp:Content>

如果我将函数放在页面末尾而不是调用函数

案例2:

<asp:Content ID="Content1" runat="server" ContentPlaceHolderID="MainContent">
    <%--some html--%>
<asp:Button ID="Button1" runat="server" OnClientClick="return callfunction();" Text="Submit"/>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
        <%--some content here--%>
        </ContentTemplate>
        <Triggers>
            <%--async trigger --%>
        </Triggers>
    </asp:UpdatePanel>
    <%--some html again--%>


    <script type="text/javascript">
        function callfunction() {//function placed at the middle of page
            alert('hello');
        }
    </script>
</asp:Content>

所以我想知道案例1有什么问题?为什么我无法调用函数

4

2 回答 2

0

Updatepanel 会导致页面控件树的完全重新实例化,并且每个控件都会运行其生命周期事件。JQuery 和 WebForms 通常表现不佳。我相信您可能在此处的嵌套方面遇到了一些问题,但是如果不查看整个页面就很难说出来。

于 2013-06-22T06:51:33.203 回答
0

你试过用

clientscript.registerstartupscript 

我会帮你的。

于 2013-06-22T08:07:15.863 回答