【问题标题】:having issue with updating label asynchronously异步更新标签有问题
【发布时间】:2012-08-30 22:58:40
【问题描述】:

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

我收到以下错误:

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

在下面的函数在线:“throw error;”

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>

我错过了什么吗?

【问题讨论】:

  • 这不是 MVC,只是普通的旧 .net webforms :)
  • 我已经有一段时间没有使用 updatePanels 了,但是在这种情况下,您的 button1 是否应该在更新面板之外?不过,我可能对此不太满意……
  • @Tommy Keeping button1 outside of update panel 确实消除了错误,但是 Lable1 文本仍未更新为“Hello”

标签: javascript asp.net html ajax webforms


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-01
    • 1970-01-01
    • 2015-10-06
    • 2020-02-07
    相关资源
    最近更新 更多