C# ASP.NET MVC:RouteLink从区域到根抛出异常

C# ASP.NET MVC:RouteLink从区域到根抛出异常,c#,asp.net-mvc-3,iis,razor,httpexception,C#,Asp.net Mvc 3,Iis,Razor,Httpexception,我们有一个ASP.NET MVC 3 Web应用程序,其管理区域areaname='admin' 在我调用的管理区域中的Razor=>Index.cshtml页面上: @Html.RouteLink("Preview", Resources_Blog.Route_Name_StaticPages, new { pagename = page.Slug, area = "" }, new {target = "_blank", Request.Url.Scheme}) 路由在global.asa

我们有一个ASP.NET MVC 3 Web应用程序,其管理区域areaname='admin'

在我调用的管理区域中的Razor=>Index.cshtml页面上:

@Html.RouteLink("Preview", Resources_Blog.Route_Name_StaticPages, new { pagename = page.Slug, area = "" }, new {target = "_blank", Request.Url.Scheme})
路由在global.asax中声明如下:

routes.MapRoute(
            Resources_Blog.Route_Name_StaticPages, // Routename
            Resources_Blog.Route_Url_StaticPages + "/{pagename}", // URL with parameters
            new { controller = "Home", action = "Page", page = UrlParameter.Optional, area = "" }, // Defaults
            new[] { "My.Namespace.Controllers" }
        );
资源包括:

Route_Name_StaticPages = "StaticPages" 
Route_Url_StaticPages  = "static"
当呈现或应该呈现页面时,我会遇到以下异常:

System.Web.HttpException (0x80004005): Cannot use a leading .. to exit above the top directory.
at System.Web.Util.UrlPath.ReduceVirtualPath(String path)
at System.Web.Util.UrlPath.Reduce(String path)
at System.Web.HttpResponse.ApplyAppPathModifier(String virtualPath)
at System.Web.Routing.RouteCollection.NormalizeVirtualPath(RequestContext requestContext, String virtualPath)
at System.Web.Routing.RouteCollection.GetVirtualPath(RequestContext requestContext, String name, RouteValueDictionary values)
at System.Web.Mvc.RouteCollectionExtensions.GetVirtualPathForArea(RouteCollection routes, RequestContext requestContext, String name, RouteValueDictionary values, Boolean& usingAreas)
at System.Web.Mvc.UrlHelper.GenerateUrl(String routeName, String actionName, String controllerName, RouteValueDictionary routeValues, RouteCollection routeCollection, RequestContext requestContext, Boolean includeImplicitMvcValues)
at System.Web.Mvc.UrlHelper.GenerateUrl(String routeName, String actionName, String controllerName, String protocol, String hostName, String fragment, RouteValueDictionary routeValues, RouteCollection routeCollection, RequestContext requestContext, Boolean includeImplicitMvcValues)
at System.Web.Mvc.HtmlHelper.GenerateLinkInternal(RequestContext requestContext, RouteCollection routeCollection, String linkText, String routeName, String actionName, String controllerName, String protocol, String hostName, String fragment, RouteValueDictionary routeValues, IDictionary`2 htmlAttributes, Boolean includeImplicitMvcValues)
at System.Web.Mvc.Html.LinkExtensions.RouteLink(HtmlHelper htmlHelper, String linkText, String routeName, RouteValueDictionary routeValues, IDictionary`2 htmlAttributes)
不幸的是,这个异常只在livesystem上抛出,而不是在developsystem上抛出,因此我无法真正调试它。 这是一个iis7

我还尝试在没有区域参数的情况下调用RouteLink方法,但也会引发异常:

Html.RouteLink("Preview", Resources_Blog.Route_Name_StaticPages, new { pagename = page.Slug, area = "" }, new {target = "_blank", Request.Url.Scheme})
另一次尝试调用RouteUrl,但也失败了:

<a target="_blank" href="@Url.RouteUrl(Resources_Blog.Route_Name_StaticPages, new { pagename = page.Slug })">@Resources_Administration.Pages_StaticPage_Show</a>
有人能帮我们吗

是IIS配置问题还是区域配置错误?

解决了该问题

VA试验成功注入了含有\..\..\..\..\..\..\..\..的段塞。。。 所以该异常被正确地抛出