【发布时间】: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