C# 从插件中的MVC视图获取程序集
所以我有一个MEF插件用于我的MVC应用程序。控制器位于插件dll中,视图cshtml也位于插件dll中-两者都被复制到插件文件夹并在运行时加载 我已经编写了一个Url扩展助手,它将从插件视图和相对Url返回内容Url 我试图从视图中获得插件的组装,而不从视图中传入类型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
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提前谢谢