我发现嵌入式UIWebView
不会导致回发,如果按钮是一个asp.net LinkButton
,但它们与Button
的工作正常。 Safari导致LinkButton
的正常回发。ASP.Net LinkButton和iOS UIWebView
是否有任何解决方法呢?
代码片段:
vwWebView.LoadRequest (new NSUrlRequest (new NSUrl (url)));
(我们使用MonoTouch的,但这似乎是一个iOS的问题)
我发现嵌入式UIWebView
不会导致回发,如果按钮是一个asp.net LinkButton
,但它们与Button
的工作正常。 Safari导致LinkButton
的正常回发。ASP.Net LinkButton和iOS UIWebView
是否有任何解决方法呢?
代码片段:
vwWebView.LoadRequest (new NSUrlRequest (new NSUrl (url)));
(我们使用MonoTouch的,但这似乎是一个iOS的问题)
事实证明,对于一个UIWebView的默认用户代理是使IIS没有的JavaScript发送到内容项目。解决方案是手动将webview的用户代理设置为移动Safari浏览器的用户代理。
这里的,使得它发生代码:
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