好的。谷歌搜索可能失败,我记得有一段时间阅读了这个,但无法找到它。RenderPartial如何找出在哪里可以找到视图?
我在不同的目录中有一个视图和一个局部视图。在一个视图中,我说@Html.RenderPartial("[partial view name]");
RenderPartial如何找出在哪里看?它必须是一个惯例,但它是什么?
我的看法是:WebRoot\Views\Admin\
文件夹和部分在WebRoot\Views\Admin\Partials
不知道这是否正确的设置。
我使用MVC 3(剃刀引擎)
因此,由于PartialViewLocationFormats = ViewLocationFormats;没有办法将部分视图与视图分离到不同的文件夹中?这不是很好,说这里是我的部分文件夹,这里是我的意见的文件夹。在网页表单中我会有'控制'目录,我会把我的用户.ascx控件放在那里。 –
我正在使用MVC 3(剃刀)btw –
您可以将部分视图放在不同的文件夹中,但需要使用不同的ViewEngine。这实际上比听起来简单得多。只需从MVC 3中的CshtmlViewEngine派生并覆盖PartialViewLocationFormats属性以返回所需的搜索位置。请注意,搜索位置是格式字符串,其中插入了控制器,操作或区域等内容。您还需要在一些引导方法(例如Application_Start)中使用MVC注册新的ViewEngine。 –