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 に答える