开发者

UpdatePanel in SharePoint throws an error

开发者 https://www.devze.com 2022-12-21 02:24 出处:网络
I get the following when I click on a custom made webpart in the Web Part Gallery: The control with ID \'UpdatePanel1\' requires a ScriptManager on the page. The ScriptManager must appear before any c

I get the following when I click on a custom made webpart in the Web Part Gallery: The control with ID 'UpdatePanel1' requires a ScriptManager on the page. The ScriptManager must appear before any controls that need it. If I use the webpart, ie perform a search, I get a pop-up error: Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. The Status code returned from the server was: 500.

This webpart takes a search string from a textbox, passes it to BL/DAL and returns a data from DB. I've integrated an UpdatePanel for partial postbacks - used this blog as guide but it is not working.

I've added the scriptManager to the default.master page using MSSP Designer as the blog suggests but curiously, the script manager causes an error (red underline) In Internet Explor开发者_StackOverflow中文版er 6.0 the tag <asp:ScriptManager> is not permitted.


I'm not totally sure what's up with that but here's an alternative. Dont use MS Ajax - EVER. jQuery is simpler, faster, better, stronger, sexier!

This is how I normally do this stuff:

  1. add jQuery to your master page head
  2. create a user control that implements your web part ui. This should use Page.ScriptManager.RegistryScriptInclude or .RegistryScriptBlock to insert script for the control. Eg, methods to do your callback using jQuery.Ajax.
  3. create a web part wrapper for the user control
  4. create an aspx in _layouts that acts as the 'service' for your callback. The page load can use the parameters passed from the ajax call to return some json or text

Instead of #4 you could create a web service but this is a lot harder with SharePoint - an apx will work well enough.

HTH

Cheers

0

精彩评论

暂无评论...
验证码 换一张
取 消