【问题标题】:How can i declare a variable globally so that i can access it across all other viwes in mvc如何全局声明一个变量,以便我可以在 mvc 中的所有其他 viwes 中访问它
【发布时间】:2020-11-09 20:32:28
【问题描述】:

我需要全局声明变量,以便我可以在所有应用程序中使用它。 基本上我想全局声明一个堆栈,以便我可以在我的 MVC 应用程序的所有视图中使用它。

【问题讨论】:

    标签: c# asp.net-mvc-4 model-view-controller


    【解决方案1】:

    C# 中通常没有“全局变量”。但是,您可以创建一个类的static 成员并基本上“全局”访问它。例如,假设您在模型中创建了这个:

    public class GlobalValues
    {
        public static string MyValue { get; set; } = "This is globally accessible.";
    }
    

    然后您可以在应用程序中的任何位置引用它:

    GlobalValues.MyValue
    

    所以在您看来,您可能只是拥有:

    @GlobalValues.MyValue
    

    需要注意的几点是:

    1. 如果该类位于视图不知道的命名空间中,您可以完全限定类名称,或添加 @using 指令或修改应用程序的配置以将该命名空间自动导入视图。
    2. 如果该值与现有模型有任何关联,则它可能属于该模型。这里的GlobalValues 课程仅用于演示。拥有一堆你不知道该放在哪里的东西很快就会成为代码库中的维护噩梦。
    3. string 当然只是这里的一个例子。您的财产可以是您喜欢的任何类型。如果它相当复杂并且需要更多初始化逻辑,static constructor 将是您放置该逻辑的位置。

    【讨论】:

      猜你喜欢
      • 2018-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-09
      • 2010-10-01
      相关资源
      最近更新 更多