我发现,如果按钮是 asp.net LinkButton
,嵌入的 UIWebView
不会导致回发,但它们可以与 Button
的。 Safari 会像平常一样对 LinkButton
进行回发。
有什么解决方法吗?
代码片段:
vwWebView.LoadRequest (new NSUrlRequest (new NSUrl (url)));
(我们使用的是单点触控,但这似乎是 iOS 问题)
最佳答案
事实证明,UIWebView 的默认用户代理使 IIS 不向内容项发送 javascript。解决办法是手动将webview的useragent设置为mobile safari的useragent。
这是实现这一点的代码:
static public void SetUserAgent(UIWebView webview) {
var agent = "Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A403 Safari/8536.25";
var webDocumentView = new NSObject(Messaging.IntPtr_objc_msgSend(webview.Handle,
(new Selector("_documentView").Handle)));
var webView = webDocumentView.GetNativeField("_webView");
Messaging.void_objc_msgSend_IntPtr(webView.Handle,
(new Selector("setCustomUserAgent:")).Handle,
(new NSString(agent)).Handle);
}
这篇文章提供了解决方案: http://blog.reinforce-lab.com/2010/06/monotouchuiwebviewhowtochangeuseragent.html
以下帖子无效。它仅削减第一个请求,但不削减后续浏览:http://monotouch.2284126.n4.nabble.com/seting-UIWebview-user-agent-objectiveC-question-td3807602.html
关于ios - ASP.Net LinkButton 和 iOS UIWebView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12920553/