Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.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 asp mvc自定义视图位置_Asp.net_.net_Asp.net Mvc_Razorengine - Fatal编程技术网

Asp.net asp mvc自定义视图位置

Asp.net asp mvc自定义视图位置,asp.net,.net,asp.net-mvc,razorengine,Asp.net,.net,Asp.net Mvc,Razorengine,我已将控制器配置为从自定义位置而不是从“典型视图”文件夹返回视图。这是通过向Global.asax添加以下代码实现的 var razorEngine = ViewEngines.Engines.OfType<RazorViewEngine>().First(); razorEngine.ViewLocationFormats = razorEngine.ViewLocationFormats.Concat(new string[] {

我已将控制器配置为从自定义位置而不是从“典型视图”文件夹返回视图。这是通过向Global.asax添加以下代码实现的

 var razorEngine = ViewEngines.Engines.OfType<RazorViewEngine>().First();
        razorEngine.ViewLocationFormats = razorEngine.ViewLocationFormats.Concat(new string[]
        {
            "~/UI/app/{1}/Views/{0}.cshtml"
        }).ToArray();
var razorEngine=ViewEngines.Engines.OfType().First();
razorEngine.ViewLocationFormats=razorEngine.ViewLocationFormats.Concat(新字符串[])
{
“~/UI/app/{1}/Views/{0}.cshtml”
}).ToArray();
它工作得很好,但我面临着将css、图像和js文件链接到cshtml页面的问题。加载页面时,这些文件似乎是404找不到的,在控制台上我收到“加载资源失败:服务器响应状态为404(未找到)”

不确定我是否丢失了某些内容,或者为什么找不到我的内容文件的路径。
我引用内容文件的方式如下:~/path to The location

通过将web配置添加到自定义目录并确保BlockViewHandler路径设置为“*.cshtml”解决了问题。 e、 g.来自

<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />



希望它能帮助其他人:)

CSS和JS文件使用捆绑和优化机制-检查包含
样式/脚本的布局视图。包括
Application\u Start
method&
BundleConfig
代码,以清楚地找出确切的问题。您的内容文件的实际路径是什么?@garethb内容路径是~/UI/app/Home/JS,视图仅位于Home/ViewsPretty.net将阻止来自视图文件夹的任何请求(这就是您获得404的原因)。我记不起来了,但有一些很好的理由。谷歌?有很多方法可以在你的配置中使用它,但是一般的建议是将你的js文件保存在默认的脚本文件夹中。已将web配置文件添加到自定义目录,并确保在BlockViewHandler上将路径从“”更新为“.cshtml”
<add name="BlockViewHandler" path="*.cshtml" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />