【发布时间】:2018-12-13 21:13:16
【问题描述】:
我有许多 ASP.NET MVC 应用程序具有相同的标头代码,因此我为标头创建了一个单独的 ASP.NET MVC 共享项目。我将存储过程中的数据加载到模型中以填充标题中的菜单,安装 RazorGenerator 以编译视图并在我的个人应用程序中引用 dll。效果很好。
存储过程中有一些数据可以获取我希望在我的消费应用程序中使用的标题菜单的一些值。是否可以从我正在使用的 ASP.NET MVC 项目中以某种方式获取这些值?这似乎是不可能的。如果我能以某种方式从引用的 DLL 中获取它,那就太好了,这样我就不必进行第二次冗余调用了。我尝试了以下方法,但没有任何效果:
- 在共享项目设置 Session 或 Tempdata 变量中。这些不会进入消费项目。值为空
-
我不能像这样实例化一个新类
ReferencedNamespace.modelrow bla = new ReferencedNamespace.modelrow();从技术上讲,这是我能够取回值的唯一方法,但这实际上是通过引用项目的模型对数据库进行两次调用,因此它违背了目的。
-
在引用项目的类中,我尝试创建一个属性:
public string myvalue { get { return valuetoget; } }并在最初填充模型的控制器中添加
valuetoget = whatever comes back from the stored procedure here
但是没有办法引用referenceNamespace.Controllers.Controllername.valuetopass。再次,我可以从消费项目中实例化它,这再次调用它两次。所以没用。
我是否可以将这些数据从引用的 DLL 的控制器移交给消费应用程序?就像我说的,我真的不想将原来的标头存储过程分成两个存储过程或进行冗余调用。
【问题讨论】:
标签: c# asp.net-mvc controller .net-assembly