当然可以。在ASP.NET MVC中,您可以通过自定义视图发现机制来指定“搜索视图”的自定义位置。以下是一些简单的步骤来实现这一目标:
protected override ViewEngineResult FindView(ControllerContext controllerContext, string viewName, string masterName, bool useCache)
{
var result = base.FindView(controllerContext, viewName, masterName, useCache);
if (result.View != null)
{
return result;
}
var searchViewName = "SearchViews/" + viewName;
return base.FindView(controllerContext, searchViewName, masterName, useCache);
}
protected override ViewEngineResult FindPartialView(ControllerContext controllerContext, string partialViewName, bool useCache)
{
var result = base.FindPartialView(controllerContext, partialViewName, useCache);
if (result.View != null)
{
return result;
}
var searchPartialViewName = "SearchViews/" + partialViewName;
return base.FindPartialView(controllerContext, searchPartialViewName, useCache);
}
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
ViewEngines.Engines.Clear();
ViewEngines.Engines.Add(new SearchViewEngine());
// 其他代码...
}
现在,当您在控制器中返回“搜索视图”时,ASP.NET MVC将首先在“SearchViews”文件夹中查找该视图。如果没有找到,它将继续在默认视图位置查找。这样,您就可以在ASP.NET MVC中指定“搜索视图”的自定义位置了。
领取专属 10元无门槛券
手把手带您无忧上云