2010-01-15 30 views
1

当我右键单击ASP.NET开发服务器时,它说 http://localhost:1394/testing 作为ROOT URL。这不符合我的代码。我认为主要的原因是我的代码假定它在根文件夹中,并且当情况不是这样的时候,事情开始中断。如果我部署了这个网站,那么这个网站一切正常,但我失去了我的调试功能。有没有办法让它跳过文件夹的名称(在这种情况下是“测试”)?visual studio调试 - url包含文件夹名称 - 打破我的代码

我正在使用虚拟URL。东西在虚拟URL上打破,而不是静态的。 (但虚拟url在部署时工作正常,并确保它在根文件夹中,否则它将无法工作。)

这是我在虚拟url上遇到的问题。图像被破坏,如果我右键点击它们,它会列出没有文件夹名称http://localhost:1394/images/xyz.jpg而不是http://localhost:1394/testing/images/xyz.jpg的网址。如果我点击一个asp:按钮,它会回传到http://localhost:1394/storecategory/virtualcategory.aspx而不是http://localhost:1394/testing/storecategory/virtualcategory.aspx。所以,你看到它正在吃掉网址的测试,所以我想看看是否有一种方法可以使http://localhost:1394/成为url而不是http://localhost:1394/testing/

请让我知道这是否令人困惑。

回答

4

是的。

如果要构建Web站点项目,请在解决方案资源管理器中单击应用程序名称,然后在属性窗格中找到“虚拟路径”属性。删除文件夹名称,只留下/

如果您正在构建Web应用程序项目,请转至“属性”|“属性”|“ [Project Name] Properties ...打开“Web”窗格,并确保“虚拟路径”值设置为/

1

引用本地(相同)站点时,您不应在我们的aspx文件中使用完全限定的地址。您应该使用“〜/”,这是相对于站点根目录。因此,如果您要参考的页面是test.aspx在站点子文件夹订单中,您将使用此字符串作为链接:"~/orders/test.aspx"。在代码隐藏和直接在aspx页面定义中都是如此; ASP.NET引擎将负责根据您的站点已安装到的站点或虚拟服务器将该地址转换为正确的地址。

例如,你的dev的系统上,如果你的根是http://localhost:1394/testing和生产系统根是http://company.com然后从相同的相对串中产生的相应的URL将http://localhost:1394/testing/orders/test.aspxhttp://company.com/orders/test.aspx

+1

但那么原始或动态生成的HTML中的URL呢? –

相关问题