使用jQuery和Update Panel获取ASPNET控件值

时间:2010-02-05 17:22:23

标签: asp.net jquery asp.net-ajax

我在更新面板中有一个asp.net按钮和一个asp.net标签,当我点击按钮时,它会更新后面代码中的标签文本。但是,当我尝试获取更新的值时,它只返回一个空值。

如何在异步回发完成后获取更新的值。我在下面提供了我的代码。

非常感谢

<script type="text/javascript">
    Sys.Application.add_init(function() {

        // Add ajax request handlers
        Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequest);

        // Raised after asynchronous postback has completed
        function EndRequest(sender, args) {
            var path = $('#<%=lblPath.ClientID %>').val();
            alert(path);
        }
    });
</script>

<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel runat="server" ID="UpdatePanel1">
    <ContentTemplate>
        <asp:Panel ID="Panel1" runat="server">
            <asp:Button ID="btnSubmit" runat="server" Text="Submit" 
                    OnClick="Submit_Click" UseSubmitBehavior="false" />
        </asp:Panel>
        <asp:Label ID="lblPath" runat="server"></asp:Label>
    </ContentTemplate>
</asp:UpdatePanel>

1 个答案:

答案 0 :(得分:2)

您似乎错误地使用了.val()方法。 The .val() method is primarily used to get the values of form elements.

而不是.val()使用.html()

var path = $('#<%=lblPath.ClientID %>').html();

.text()

var path = $('#<%=lblPath.ClientID %>').text();