Pro*_*ofK 5 asp.net-mvc razor asp.net-mvc-3
例如,我有三个支付控制器,每个支持控制器特定于第三方支付处理器,因此在我的根视图文件夹下,每个控制器都有一个文件夹.我想将这些移动到Views\Payments\Processor1,Views\Payments\Processor2等,而不是当前的Views\Processor1等.
我还没有准备好实现区域,所以我希望有一些方法可以告诉MVC也查看子文件夹,或类似的东西.可以这样做,怎么做?
Dar*_*rov 11
您可以编写自定义视图引擎并覆盖默认视图位置:
public class MyRazorViewEngine : RazorViewEngine
{
public MyRazorViewEngine() : base()
{
base.ViewLocationFormats = base.ViewLocationFormats.Concat(new[] {
"~/Views/Payments/{1}/{0}.cshtml",
"~/Views/Payments/{1}/{0}.vbhtml"
}).ToArray();
base.PartialViewLocationFormats = base.PartialViewLocationFormats.Concat(new[] {
"~/Views/Payments/{1}/{0}.cshtml",
"~/Views/Payments/{1}/{0}.vbhtml"
}).ToArray();
}
}
Run Code Online (Sandbox Code Playgroud)
然后将其注册到Application_Start:
ViewEngines.Engines.Add(new MyRazorViewEngine());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6011 次 |
| 最近记录: |