0

我正在尝试一个简单的 ajax 表单,它将在按钮单击时更新标签。

我收到以下错误:

Microsoft JScript 运行时错误:Sys.WebForms.PageRequestManagerParserErrorException:无法解析从服务器接收到的消息。

在下面的函数在线:“抛出错误;”

function Sys$WebForms$PageRequestManager$_endPostBack(error, executor, data) {
    if (this._request === executor.get_webRequest()) {
        this._processingRequest = false;
        this._additionalInput = null;
        this._request = null;
    }
    var handler = this._get_eventHandlerList().getHandler("endRequest");
    var errorHandled = false;
    if (handler) {
        var eventArgs = new Sys.WebForms.EndRequestEventArgs(error, data ? data.dataItems : {}, executor);
        handler(this, eventArgs);
        errorHandled = eventArgs.get_errorHandled();
    }
    if (error && !errorHandled) {
        ***throw error;***
    }
}

这是我的表单代码:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>

<script runat="server">

    protected void Button1_Click(object sender, EventArgs e)
    {
        Label1.Text = "Hello";
    }
</script>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    Test Form
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

<form id="form1" runat="server">
<div style="text-align: left; height: 395px;">
    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>                
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
               <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
               <br />
               <asp:Button ID="Button1" runat="server" onclick="Button1_Click" style="margin-left: 66px" Text="Button" Width="176px" />
               <br />
            </ContentTemplate>
        </asp:UpdatePanel>
</div>
</form>

</asp:Content>

我错过了什么吗?

4

1 回答 1

1

我将上面的代码插入到空的 aspx 页面中,删除了对 masterpage 和 asp:Content 的引用,它对我有用。标签更改了其文本。如果它仍然对您不起作用,您可以使用 Firefox+Firebug 在单击按钮后查看实际的服务器响应。它可能包含详细的异常,会给你一个提示。

于 2012-08-30T14:58:40.927 回答