Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.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 mvc ASP.NET MVC可移植区域能否正确解析Server.MapPath?_Asp.net Mvc_Asp.net Mvc 3_Portable Areas - Fatal编程技术网

Asp.net mvc ASP.NET MVC可移植区域能否正确解析Server.MapPath?

Asp.net mvc ASP.NET MVC可移植区域能否正确解析Server.MapPath?,asp.net-mvc,asp.net-mvc-3,portable-areas,Asp.net Mvc,Asp.net Mvc 3,Portable Areas,我有一个ASP.NET MVC 3应用程序正在使用PortableAreas(不要问我为什么-我不知道)。我需要从一个区域的url映射到系统上的实际文件夹 以下是我的实际文件夹结构: C:\project |-web.app\ |-|-Areas\ |-web.locations.area\ |-|-content\ |-|-|-scripts\ |-|-views\ 这总是解析为“C:\project\web.app\locations\scripts\my.script.js”,这是不正确的

我有一个ASP.NET MVC 3应用程序正在使用PortableAreas(不要问我为什么-我不知道)。我需要从一个区域的url映射到系统上的实际文件夹

以下是我的实际文件夹结构:

C:\project |-web.app\ |-|-Areas\ |-web.locations.area\ |-|-content\ |-|-|-scripts\ |-|-views\ 这总是解析为“C:\project\web.app\locations\scripts\my.script.js”,这是不正确的。该文件实际上位于“C:\project\web.locations.area\content\scripts\my.script.js”

当我调用
@Url.Content(“~/locations/scripts/my.script.js”)
时,它会像我预期的那样解析为正确的Url。当我通过浏览器点击该url时,该url实际上确实存在,并且该脚本文件由IIS/my asp.net web app正确提供


为什么对Server.MapPath的调用会产生错误的结果?如何将PortableArea中的路径映射到文件系统上的实际路径?

如果不使用波浪线而使用mappath,会得到什么结果?如果不使用~it,它只会返回您传入itDOH的任何内容!我知道我在想什么。
@Server.MapPath("~/locations/scripts/my.script.js")