2011-02-03 71 views
0

这是一个奇怪的。Asp.net AJAX工作 - 但不工作

长话短说:用AJAX写了一个usercontrol。使用返回的智能部分v1.3将其插入sharepoint 2007(开发)网站。

完美的作品!

将它全部移到生产服务器 - 修改web.config文件,使其完全像开发网站。它不工作。我很确定ajax实际上工作,因为updateprogress正在工作,并且我的ajax_endrequest js处理程序中出现错误 - 在我的第二个ajax请求之后(如在 - 我按一次按钮一次什么都没有,我又按它)我得到:

“无效的回发或回调参数事件验证使用配置中启用了...。”

我有javascript__doPostback,这似乎工作一个LinkBut​​ton - 在至少它正在运行代码 - 但它不更新updatepanel中的任何内容。

它不工作的另一个例子: 我有一个选项卡面板和一个列表框设置为自动完成。在selectedindexchanged中,我更改了活动选项卡面板 - 但这不起作用。当我这样做两次时,我在我的JavaScript结束请求处理程序中返回上述相同的错误。

任何人都可以指向我的任何方向!? :)

+1

您是否尝试过使用Fiddler或类似命令查看HTTP流量? – Xhalent 2011-02-03 13:12:31

+0

无论我做什么,提琴手实际上都没有显示任何活动。奇怪 - 因为我在endrequest中遇到异常? – Dynde 2011-02-03 13:46:54

+0

你可以给我们_long_故事,并告诉我们一些代码?我知道这确实是针对原则,但是上下文覆盖总是有帮助 – 2011-02-03 13:59:50

回答

1

好了...

我要发泄。这个问题花了我太多的时间来解决。

问题出在sharepoint的masterpage上。由于我不使用默认的母版,显然这行:

<WebPartPages:SPWebPartManager runat="server"/> 

当时以外的标记 - 当它向下移动里面(这是在默认母版,我用我的机器上) ,一切都很好 -

我讨厌有时候分享点...

0

我认为,因为你使用AJAX,你遇到了事件验证的问题。由于JavaScript是触发事件,因此ASP.NET无法验证触发事件处理程序的来源,从而导致左右错误。

您可以禁用事件验证globaly:

<system.web> 
    <pages enableEventValidation="false"/> 
</system.web> 

或单页上:

<%@ Page EnableEventValidation="false" ... %> 

这同样适用于视图状态验证......上控制了JavaScript交互过上.. 。下面是修复它的代码:

web config:

<pages enableViewState="false" /> 

或单页上:

<%@ Page ... EnableViewState="false" %>