Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
asp.net:在正常的非服务器端html控件中,指的是相对于根目录的页面_Asp.net_Url_Relative Path_Root - Fatal编程技术网

asp.net:在正常的非服务器端html控件中,指的是相对于根目录的页面

asp.net:在正常的非服务器端html控件中,指的是相对于根目录的页面,asp.net,url,relative-path,root,Asp.net,Url,Relative Path,Root,我有一个嵌套很深的页面。和根路径中的一个。在深度嵌套的页面中,我有一个锚定标记,它应该导航到另一个页面(不在根中,但很容易指定根相对路径) 我尝试指定根相对路径时执行了以下操作: ->这一个给了我一个404错误。它无法将~部分解析为根路径 另一个选项是向上移动一个目录: ->这真让人头痛 然后我试了一下: ->这又给了我一个404。它只是删除了localhost://部分之后的内容,并在其上附加了/home/main.aspx 在这里指定根相对路径的方法是什么 PS:我假设根相对路径将解析为服务

我有一个嵌套很深的页面。和根路径中的一个。在深度嵌套的页面中,我有一个锚定标记,它应该导航到另一个页面(不在根中,但很容易指定根相对路径)

我尝试指定根相对路径时执行了以下操作:

->这一个给了我一个404错误。它无法将
~
部分解析为根路径

另一个选项是向上移动一个目录:

->这真让人头痛

然后我试了一下:

->这又给了我一个404。它只是删除了
localhost://
部分之后的内容,并在其上附加了
/home/main.aspx

在这里指定根相对路径的方法是什么


PS:我假设根相对路径将解析为服务器控件

如果使用asp.net超链接控件,则可以使用“~”。如果你不想使用服务器控件,我认为你的服务器被卡住了

“/”将通过常规链接将您带到站点的根目录,但您必须检查虚拟目录是如何设置的。

只有
WebControl.ResolveUrl
方法才能识别波浪号(~),因此您必须在
页面
上调用此方法,这是一种
WebControl

<a href='<%=ResolveUrl("~/home/main.aspx") %>'>Home</a>


但我也通过将
虚拟路径
属性设置为
/
解决了这个问题。它帮助…@deo-
/
~/
引用了两种不同的路径-虽然它们在服务器上的开发环境中可能看起来相同,但可能不同
/
是服务器的绝对根,而
~/'是当前应用程序的绝对根。你看到区别了吗?您通常只想使用
~/
。使用
/`时,请确保您了解它将指向的位置。您还可以在HTML控件上设置runat=“server”,ASP.NET将~/转换为应用程序根目录。