我有一个 MVC4/Web API 项目,我创建了一个使用 Ajax 使用 Web API 的测试页面。测试进展顺利,所以我开始研究 UI。我需要做的一件事是使用从 Web API 返回的数据填充一些表单控件。我为此使用了 JQuery。
现在,当我运行应用程序并提交表单时,我收到一个错误,表明页面已更新:
Invalid postback or callback argument. Event validation is enabled using <pages
enableEventValidation="true"/> in configuration or <%@ Page EnableEventValidation="true" %>
in a page. For security purposes, this feature verifies that arguments to postback
or callback events originate from the server control that originally rendered them.
If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation
method in order to register the postback or callback data for validation.
为了克服这个问题,我将表单控件包装在 UpdatePanel 中并添加了 ScriptManager 控件。现在我在构建时收到以下错误:
The type or namespace name 'ScriptManager' does not exist in the namespace
'System.Web.UI' (are you missing an assembly reference?) C:\Users\xxx\Documents\
Visual Studio 2012\Projects\xxxxxxxxx\xxxxxxxx.Web.API\Public\
xxxxxxxxxxx.aspx.designer.cs 31 41 xxxxxxxx.Web.API
和
The type or namespace name 'UpdatePanel' does not exist in the namespace
'System.Web.UI' (are you missing an assembly reference?) C:\Users\xxx\Documents\
Visual Studio 2012\Projects\xxxxxxxx\xxxxxxxx.Web.API\Public\
xxxxxxxxxxx.aspx.designer.cs 40 41 xxxxxxxx.Web.API
我已经完全清理了我的解决方案。删除了 obj/Debug 和 obj/Release。我已经研究了这两个问题,它们似乎是齐头并进的,会出现很多问题。我已经安装了 AjaxControlToolbox,但这并没有什么不同。
有什么我必须手动添加到 web.config 或者我应该寻找的东西吗?