Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.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 为什么SiteMap.CurrentNode在升级到4.0后返回null_Asp.net_C# 4.0_Iis 6 - Fatal编程技术网

Asp.net 为什么SiteMap.CurrentNode在升级到4.0后返回null

Asp.net 为什么SiteMap.CurrentNode在升级到4.0后返回null,asp.net,c#-4.0,iis-6,Asp.net,C# 4.0,Iis 6,我最近将一个网站升级到ASP.NET 4.0,在将代码移动到登台服务器后,每次我浏览到一个页面目录,如mysite.com/bacon/SiteMap.CurrentNode都是空的。但是,如果我浏览mysite.com/bacon/default.aspx,它就可以正常工作。服务器和站点配置为4.0,文档默认设置为默认。aspx是默认设置的第一页 我还应该提到,这种行为并没有发生在我的本地开发机器上,它识别出mysite.com/bacon/实际上是mysite.com/bacon/defau

我最近将一个网站升级到ASP.NET 4.0,在将代码移动到登台服务器后,每次我浏览到一个页面目录,如mysite.com/bacon/SiteMap.CurrentNode都是空的。但是,如果我浏览mysite.com/bacon/default.aspx,它就可以正常工作。服务器和站点配置为4.0,文档默认设置为默认。aspx是默认设置的第一页


我还应该提到,这种行为并没有发生在我的本地开发机器上,它识别出mysite.com/bacon/实际上是mysite.com/bacon/default.aspx,并且相应地设置了SiteMap.CurrentNode

证明站点地图提供程序使用的是HttpContext.Request.rawUrl。
由于某种原因,在从.Net 2.0到4.0的更改中,rawurl将不再返回默认文档,因此改用HttpContext.Request.Path。

检查Web.sitemap节点的url(如果使用此类文件!),不要忘记在url末尾添加“/”。例如,这将产生错误:

<siteMapNode title="bacon" url="mysite.com/bacon" description="" >

但这是正确的:

<siteMapNode title="bacon" url="mysite.com/bacon/" description="" >

HttpContext.Current.Request.Path