Core自定义View查找位置

Posted fanfan-90

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Core自定义View查找位置相关的知识,希望对你有一定的参考价值。

PopulateValues():作为一种指定参数的方式存在,您的视图查找将根据每个请求而变化.由于您没有填充它,视图引擎使用先前请求中的缓存值.

    public class ThemeViewLocationExpander : IViewLocationExpander
    {
        public IEnumerable<string> ExpandViewLocations(ViewLocationExpanderContext context, IEnumerable<string> viewLocations)
        {
            string theme = context.Values["theme"];
            if (string.IsNullOrWhiteSpace(theme))
            {
                theme = "default";
            }
            string[] newLocation = { $"Views/{theme}/{{1}}/{{0}}.cshtml"};
            return viewLocations.Union(newLocation);
        }

        public void PopulateValues(ViewLocationExpanderContext context)
        {
            context.Values["theme"] = context.ActionContext.HttpContext.Request.Query["theme"].ToString();
        }
    }

 

//配置模版视图路径
            services.Configure<RazorViewEngineOptions>(options =>
            {
                options.ViewLocationExpanders.Add(new ThemeViewLocationExpander());
            });

 

以上是关于Core自定义View查找位置的主要内容,如果未能解决你的问题,请参考以下文章

Android 自定义View——自定义点击事件

找到我的自定义代码片段 Xcode 6?

片段的条件自定义 OnBackPress

Tablayout+view 寻呼机未在位置 0 显示片段

片段中的按钮自定义视图

Android:在片段内膨胀自定义视图