Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从插件中的MVC视图获取程序集_C#_Asp.net Mvc_Mef - Fatal编程技术网

C# 从插件中的MVC视图获取程序集

C# 从插件中的MVC视图获取程序集,c#,asp.net-mvc,mef,C#,Asp.net Mvc,Mef,所以我有一个MEF插件用于我的MVC应用程序。控制器位于插件dll中,视图cshtml也位于插件dll中-两者都被复制到插件文件夹并在运行时加载 我已经编写了一个Url扩展助手,它将从插件视图和相对Url返回内容Url 我试图从视图中获得插件的组装,而不从视图中传入类型 public static class UrlExtensions { public static string PluginContent(this UrlHelper url, string reso

所以我有一个MEF插件用于我的MVC应用程序。控制器位于插件dll中,视图cshtml也位于插件dll中-两者都被复制到插件文件夹并在运行时加载

我已经编写了一个Url扩展助手,它将从插件视图和相对Url返回内容Url

我试图从视图中获得插件的组装,而不从视图中传入类型

public static class UrlExtensions
{        
    public static string PluginContent(this UrlHelper url, string resource)
    {
        var asm = Assembly.GetCallingAssembly();
        // asm == App_Web_ssqr4slf, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null - not my plugin - 
        // is there a way of getting this UrlHelper - obviously getting the controller would do it

    }
}
因此,通过我的扩展方法,我试图在插件中获取某个对象的引用或类型,而不必将类型或程序集作为参数传递


提前感谢

尝试将其保存在ViewBag中,这样就不必传递类型作为参数。

我可以使用基本控制器类,是否有一种方法可以为每个视图设置ViewBag变量?您可以从UrlHelper访问ViewBag吗?如果您想将每个视图的所有变量放在一个ViewBag中,您必须在视图中移动变量中的数据,如果您想使用它,您首先不想使用它。是的,你可以从UrlHelper访问ViewBag。如果你没有那么多视图可供使用,另一种方法是根据你使用的“if”视图在ViewBag上保存不同的内容。但是如果你有更多的视图,这将是一个痛苦的事情。谢谢,我只是想为每个请求在ViewBag中添加一个变量,你知道我怎么做吗?如何从UrlHelper获取ViewData提前谢谢