首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何对指定控制器的部分共享视图进行分组?

如何对指定控制器的部分共享视图进行分组?
EN

Stack Overflow用户
提问于 2009-08-28 08:10:39
回答 1查看 543关注 0票数 4

是否可以告诉ViewEngine在指定控制器的附加文件夹中查找部分共享视图(而其他控制器是而不是)?

我在用WebFormViewEngine。

这就是我的PartialViewLocations目前的看法。

代码语言:javascript
复制
 public class ViewEngine : WebFormViewEngine
    {
        public ViewEngine()
        {
            PartialViewLocationFormats = PartialViewLocationFormats
                .Union(new[]
                       {
                           "~/Views/{1}/Partial/{0}.ascx",
                           "~/Views/Shared/Partial/{0}.ascx"
                       }).ToArray();
        }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-08-28 12:26:21

好的。在本例中不要更改PartialViewLocationFormats;相反,请执行以下操作:

代码语言:javascript
复制
    public override ViewEngineResult FindPartialView(
        ControllerContext controllerContext, 
        string partialViewName, 
        bool useCache)
    {
        ViewEngineResult result = null;

        if (controllerContext.Controller.GetType() == typeof(SpecialController))
        {
             result = base.FindPartialView(
                 controllerContext, "Partial/" + partialViewName, useCache);
        }

        //Fall back to default search path if no other view has been selected  
        if (result == null || result.View == null)
        {
            result = base.FindPartialView(
                controllerContext, partialViewName, useCache);
        }

        return result;  
    }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1345649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档