将带有QueryString的URL传递给UIWebView

本文关键字:UIWebView URL QueryString | 更新日期: 2023-09-27 18:25:26

我遇到了类似的问题:https://forums.xamarin.com/discussion/6319/problem-with-webview-and-url

使用UIWebView,我试图传递一个带有查询字符串的URL。URI如下所示:"Content/Content/holder.html/?contentpath=/test.html"

如果没有querystring,文档将正确显示。但是,使用querystring,我会得到以下错误:
Error Domain=NSURLErrorDomain Code=-1100 "The requested URL was not found on this server."

它似乎没有分离查询字符串
我读过一些C解决方案,但我无法在我的C#解决方案中反映出来;特别是

NSString *URLString = [url absoluteString];   
NSString *queryString = @"?param1=1"; 
NSString *URLwithQueryString = [URLString stringByAppendingString: queryString];  

将带有QueryString的URL传递给UIWebView

在这里找到了我的答案:https://forums.xamarin.com/discussion/10444/uiwebview-loadrequest-encoding-url-so-becomes-3f

UIWebView不喜欢URL中的空格:

var escapedBundlePath = Uri.EscapeUriString(NSBundle.MainBundle.BundlePath);
var myUrl = "Path/To/File/Test.html?var1=hello&var2=world";
var nsUrl = new NSUrl(Path.Combine(escapedBundlePath, myUrl));
WebView.LoadRequest(new NSUrlRequest(nsUrl));