I have an Asp.Net 4.0 website / management interface that uses the update panel and some buttons. The update panel connects to a timer that runs every 5 seconds, which results in a partial postback. The buttons toggle some options, and then force update the update panel with a call like this:
var prm = Sys.WebForms.PageRequestManager.getInstance(); prm._doPostBack('<%= UpdatePanel.ClientID %>', ''); return true;
The site works great on IE / Firefox and on Safari mobile devices (IPhone / iPad), but on mobile devices there’s a random and silent stop. I believe that this may be due to battery saving, and that safari disables partial reverse gear when it is in standby mode. The problem is that when the user returns to the site, postback is completely disabled, and neither the timer nor the button causes any postbacks anymore. (I checked the network traffic on the server to check this). Even when the user updates the site (several times), a partial postback is returned. It just stops sending data to the server. Then, suddenly and without any specific reason, postback starts working again. Downtime is often up to 10 minutes, which completely makes my site useless for its purpose.
Given that it takes so long before the postback starts again, I wonder if there are any settings on the client side or in IIS for playback?
The website will only work on my client devices, it is not publicly accessible, therefore, if there are any settings for working with the client, I am for it.
I really got confused about this and did not find a way to cause an “error”, it just happens sometimes. Any advice and advice is greatly appreciated.
Update:
Some error handling has been added, and I (not sequentially) receive the following message when feedback fails:
The page performs asynchronous feedback, but the ScriptManager.SupportParialRendering property is false. Make sure the property is set to true during postback.
Oddly enough, this property is obviously true for the device in the first case, otherwise postback will never work, which is not the case.
Update 2: Found the following blog post suggesting changing the browserCap setting in web.config. Try it now. Will report. Other suggestions are still welcome. ASP.NET 4 BrowserCaps (or: what were they thinking?)
The above disables javascript in the safari mobile in full screen mode (works from the main screen). The following article suggests fixing this problem. Gotcha: iPad vs ASP.NET