2015-05-05 64 views
3

我有一个ASP.NET MVC项目,我想将CSHTML文件放在视图文件夹之外。虽然我可以通过在我所需的文件夹中添加CSHTML文件轻松完成,但我无法渲染这些文件的部分视图结果。CSHTML文件在视图文件夹外

我目前拥有的文件夹结构大致如下: 根 | | - 模板 | | --- Welcome.cshtml | | - 查看 | | ---

我使用从控制器动作

public ActionResult Welcome() 
    { 
     return PartialView("Welcome"); 
    } 

然而之一以下语法,这样,剃须刀是不是能够找到Welcome.cshtml。我已阅读有关使用自定义视图引擎来更改默认搜索位置等,但想知道这是否可以通过添加配置来解决。

+1

您可以使用相对路径并包含'.cshtml'扩展名。看看这篇文章的更多信息:http://stackoverflow.com/questions/208421/render-partial-from-different-folder-not-shared –

回答

2

您可以在返回View/PartialView时指定根相对路径。例如:

public PartialViewResult Welcome() 
{ 
    return PartialView("~/Templates/Welcome.cshtml"); 
} 
+1

工程就像一个魅力。 刚刚不得不在我的部分cshtml顶部包括以下内容@inherits System.Web.Mvc.WebViewPage – Adinosine

+0

这是一个很好的答案,但如果您想自定义MVC查找视图的位置,请查看此文章,它是一个有点过时,但它有有用的信息[配置视图搜索位置](http://theshravan.net/blog/configure-the-views-search-locations-in-asp-net-mvc/)。 – CrnaStena

相关问题