如何使用vb中的参数访问本地网页?

时间:2016-04-01 14:23:22

标签: html vb.net process

我希望打开本地网页(index.html)在查询中传递参数的情况,我可以在index.html中使用但我遇到问题,因为它会产生错误,如下所示,< / p>

  

系统找不到指定的文件。

Vb.net代码

 Dim url As String = ConfigurationManager.AppSettings("Url")
 url = url & "?id=" & txtFilePath.Text

  //Url example 
 "C:\Program Files\Products\Bella\index.html?id=232"

 Process.Start(url)

2 个答案:

答案 0 :(得分:0)

我不完全理解你的问题,但我会尝试。

我不知道&#34; Url&#34;的价值是什么?是,txtFilePath.text应该是什么。但如果你想打开像

这样的网址
    localhost/index.html?id=example

在浏览器中,您应该将其用作第一个参数。

    Process.Start("IExplore.exe", url)

如果您试图让服务器读取您放入URL的参数,我不知道您是否可以使html页面获得这样的参数,可能是PHP或其他什么?但这对于启动浏览器和其他东西完全没有区别,只是单挑:)


但是如果你只是想在浏览器窗口中打开一个静态html文件,据我所知,你传递参数是不合时宜的,但你应该测试你的文件是否存在,所以你完全确定它存在于那条道路上。

    File.Exists(url)

编辑: 由于你的网址是&#34; C:\ Program Files \ Products \ Bella \ index.html?id = 232&#34;我不相信你可以传递参数,我认为它会尝试找到扩展名为&#34; .html?id = 232&#34;的文件,这显然不存在。

答案 1 :(得分:0)

似乎有两个问题:

<强>首先

我认为错误的原因是你需要&#34; file://&#34;在URL之前(如评论中提到的Mych)以访问本地网页。许多浏览器会自动假设URL应该具有&#34; http://&#34;除非您指定它是本地文件。

根据您的浏览器,它可能会添加更多正斜杠,但两个应足以让Process.Start识别它。

因此,您的网址应如下所示:

 "file://C:\Program Files\Products\Bella\index.html?id=232"

<强>第二

至于将参数传递给URL我发现的最佳方式(如jakobS建议的那样),你必须使用:

 Process.Start("IExplore.exe", url)
 'or
 Process.Start("Chrome.exe", url)

或您喜欢的任何浏览器。

因此您可以通过以下方式修改代码:

 Dim url As String = ConfigurationManager.AppSettings("Url")
 url = url & "?id=" & txtFilePath.Text

 'Add "file://" to the beginning of the url.
 url = "file://" & url

 Process.Start("IExplore.exe", url)

那应该摆脱你的错误并加载你的参数页面。

希望它有所帮助!