5

我正在 Monotouch 上构建一个 iPhone 应用程序。我的部分项目使用本地网站内容。我将网站使用的所有 html、js、css 和图像复制到一个文件夹中,并将其导入到我的 monotouch 项目中。我已将所有这些文件的构建选项设置为 Content。

我加载本地网页内容,如下所示:

this.url = Path.Combine (NSBundle.MainBundle.BundlePath, "Content/index.html"); webView.LoadRequest(new NSUrlRequest(new NSUrl(this.url, false)));

问题是当我运行项目时,它找不到我的本地网站,当我尝试调试时收到以下消息:

在此服务器上找不到请求的 URL。

/Users/ * **** /Library/Application Support/iPhone Simulator/4.3/Applications/092E0D85-92F4-4F4E-9CD2-3FBBCD797F76/Project.app/Content/index.html

有趣的是,当我将链接复制到 safari 时,网页显示没有任何问题

我曾尝试清除和重建项目几次,但没有任何改变。

谁能帮我这个?

我正在使用 OS X Moutain Lion 10.8.2、MonoDevelop 3.0.5、Monotouch 6.0.6、xcode 4.5.2

提前致谢

4

4 回答 4

2

这很奇怪,对我来说效果很好。

试试这个:

var fileName = "Content/index.html";
webView.LoadHtmlString (File.ReadAllText (fileName),
                        NSUrl.FromFilename (fileName));
于 2012-12-06T10:21:26.407 回答
1

您可以使用 NSURLComponent ,如下所示。参数可以在 NSURLComponent Query 属性中传递。

        string viewerPath = Path.Combine(NSBundle.MainBundle.BundlePath, string.Format("Content/pdfjs/web/{0}", _pdfViewerFileName));
        string queryString = string.Format("file={0}", _pdfFilePath);
        NSUrlComponents components = new NSUrlComponents(viewerPath);
        components.Query = queryString;
        Control.LoadRequest(new NSUrlRequest(components.Url));
于 2016-03-10T14:04:50.477 回答
0

谢谢你的帮助。

我刚刚意识到我在链接中放入了参数,例如:index.html?p1=v1&p2=v2,它使链接不起作用。如果我删除这些参数,它的工作没有任何问题。

很抱歉错过了关于我的问题的信息。

现在,如果我不能像普通网站那样做,我如何将参数传递给我的本地网站?

于 2012-12-06T11:29:58.320 回答
0

请务必将 htm 的 Build Action 设置为 BundleResource - 您使用此设置的代码对我有用!

于 2013-04-15T10:15:24.240 回答