I implemented a simple visual web part with updatepanel with a button and a label. When I click on a button, OnClick event is called and the label is getting filled. This works fine in all browsers except for SAFARI browser. In safari the OnClick event is not getting called at all. I have even implemented this in an application but the result is same in safari browser. A sample asp.net application with the same structure with update panel works in SAFARI too. Only when implemented in sharepoint, the safari browser is not getting partial postback. I have checked that the scriptmanager has enablePartialMethods = true.
Let me know if there is any solution for this in SAFARI.

3 Answers
3

seems like a common problem with the new version browsers, this has been an on going issue! things like Page.ClientScript.RegisterClientScriptBlock(...) just doesnt work due to javascript not loading properly in those browsers at the beginning as sharepoint is doing one thing and browser is doing another!

you have two methods! first i would try the following:

ISSUE

The ASP.NET AJAX UpdatePanel control must change the page’s postback
behavior to enable support for asynchronous postbacks and partial
rendering. However, in a SharePoint application, these modifications
cause a JavaScript error. This is because SharePoint attempts to make
a similar change. The SafeScriptManager control corrects the
JavaScript problem.

SOLUTION

In Visual Studio, add a reference to
Microsoft.Practices.SPG.AJAXSupport.dll. Add a SafeScriptManager
control to your page and set the EnableUpdatePanelSupport flag to
true. This changes the postback script that is needed for the
UpdatePanel control to work in a SharePoint environment. The following
code demonstrates how to add a SafeScriptManager control to a page.

You may place several SafeScriptManager controls on your page, and it
is allowed to set the EnableUpdatePanelSupport flag on each
SafeScriptManager control on your page. However, when there are
multiple SafeScriptManager controls on a page, only one of them must
set the EnableUpdatePanelSupport flag to true in order to enable the
correct postback behavior for the whole page.

Thanks for sharing the knowledge @aliSharepoint, the JavaScript thing worked for me but what if the update panel contains multiple controls? In my case, I have three buttons placed in the update panel but the button click does not update the panel. What should I do?
–
users1100Jun 28 '14 at 12:01

I may have a variation on this issue: Like the OP I have a very simple test page with an out of the box master page. A couple of controls in an UpdatePanel including a dropdown list with a SelectedIndexChanged event handler. Only on OSX/Safari do I get full postback on a DDL selection change.

Via JS debugging I discovered a page redirect. Fiddler revealed 401 & 302 status codes. I turned off Form authentication and now the UpdatePanel works.

This is not really an answer in my situation (it appears claim authentication requires Form authentication and I need that in production) but maybe it'll help somebody else.

Yes, I think this problem occurred when we have implemented only Windows Authentication for the web application, let try to add dummy Form authentication in this web application too (select form authentication and enter dummy membership provider), the sign in page will show you, select Windows Authentication you will see you application work well for all browsers.
Next if you need only Windows Authentication you can create custom sign in page to bypass to Windows Authentication "/_windows/default.aspx?.." only.