zoukankan      html  css  js  c++  java
  • mvc视图文件引用反射加载的程序集。

    如果是通过反射加载的控制器,那么视图文件将无法传递Model等数据,必须给视图文件声明视图文件所引用的程序集。

    直接上代码。

            /// <summary>
            /// Razor视图页面的页面加添加动态引用程序集
            /// </summary>
            /// <param name="pluginName"></param>
     
                RazorBuildProvider.CodeGenerationStarted += (object sender, EventArgs e) =>
                {
                    RazorBuildProvider provider = (RazorBuildProvider)sender;
                    provider.AssemblyBuilder.AddAssemblyReference(视图文件所在的程序集); //Assembly
                };
           
    

    以上代码需要视图引擎中调用,实例代码:

        public class CustomRazorViewEngine : RazorViewEngine
        {
    
            public override ViewEngineResult FindPartialView(ControllerContext controllerContext, string partialViewName, bool useCache)
            {
     CodeGeneration(”标识参数");
                 .....
            }
    
        public override ViewEngineResult FindView(ControllerContext controllerContext, string viewName, string masterName, bool useCache)
            {
    CodeGeneration(”标识参数");
    ...
    }
    //根据插件名称找出视图所在的程序集 private void CodeGeneration(string pluginName) { RazorBuildProvider.CodeGenerationStarted += (object sender, EventArgs e) => { RazorBuildProvider provider = (RazorBuildProvider)sender; var plugin = PluginManager.GetPlugin(pluginName); if (plugin != null) {     provider.AssemblyBuilder.AddAssemblyReference(plugin.Assembly); } }; }
  • 相关阅读:
    前端生成pdf文件之pdfmake.js
    vim 安装
    linux基础学习
    python 编码处理
    Ubuntu 下配置 SSH服务全过程及问题解决
    yum 安装
    Ubuntu安装MySQL
    Linux各发行版本及其软件包管理方法
    轻松学习LINUX系列教程推出
    常用命令
  • 原文地址:https://www.cnblogs.com/huaguo/p/8202741.html
Copyright © 2011-2022 走看看