SharePoint中的UpdatePanel会引发错误

时间:2010-02-25 20:34:23

标签: sharepoint asp.net-ajax

当我在Web部件库中单击自定义的webpart时,我得到以下信息:The control with ID 'UpdatePanel1' requires a ScriptManager on the page. The ScriptManager must appear before any controls that need it.如果我使用webpart,即执行搜索,则会出现弹出错误:Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. The Status code returned from the server was: 500

此webpart从文本框中获取搜索字符串,将其传递给BL / DAL并从DB返回数据。我已经集成了一个UpdatePanel用于部分回发 - 使用this blog作为指南,但它不起作用。

我已经使用MSSP Designer将scriptManager添加到default.master页面,因为博客建议但奇怪的是,脚本管理器会导致错误(红色下划线)In Internet Explorer 6.0 the tag <asp:ScriptManager> is not permitted.

1 个答案:

答案 0 :(得分:-1)

我不完全确定这是怎么回事,但这里有另一种选择。不要使用MS Ajax - 永远。 jQuery更简单,更快,更好,更强,更性感!

这就是我通常做这些事情的方式:

  1. 将jQuery添加到您的母版页头
  2. 创建一个实现Web部件ui的用户控件。这应该使用Page.ScriptManager.RegistryScriptInclude或.RegistryScriptBlock来插入控件的脚本。例如,使用jQuery.Ajax进行回调的方法。
  3. 为用户控件创建Web部件包装器
  4. 在_layouts中创建一个aspx,作为回调的“服务”。页面加载可以使用从ajax调用传递的参数来返回一些json或text
  5. 而不是#4你可以创建一个Web服务,但这对于SharePoint来说要困难得多 - 一个apx可以运行得很好。

    HTH

    干杯