mvc中的全局变量声明

时间:2017-12-12 05:30:08

标签: c# model-view-controller

我想在某处声明一个变量并在某个动作方法中初始化它。然后我想在其他方法和其他控制器方法中使用该赋值变量。

我如何才能完成它?

4 个答案:

答案 0 :(得分:0)

您是否尝试将这些变量放在静态类中(作为静态变量)? 或者只是作为一个类中的静态变量。 这样,您可以使用应用程序中任何位置的变量(如果引用包含类的程序集)

答案 1 :(得分:0)

在任何方法(类内)

之外声明变量
public partial class myClass
{
   var _myVariable = "";

    private void mymethod()
    {
      //your method code
    }
}

_myVariable将公开给myClass中的每个方法

答案 2 :(得分:0)

我可以想到以下方法。

静态类的静态变量 请注意,这个变量将在您网站的不同用户之间共享。

Singleton类 有些人喜欢它,有些人讨厌它。这将是静态的,价值将在不同的访客之间共享。还要注意这里的线程,最好使用一些现成的测试implementations

TempData或Session 您还可以在临时数据或会话中存储一些值。了解每个人的生命周期以及如何使用。检查这[教程] [2]或[this] [3]

依赖注入 在这里,您可以控制对象的生命周期。在Unity with MVC中,如果您希望为每个用户提供不同的值,则可以将对象生存时间限制为每个请求。因此,您可以创建一个包含所需变量的类,并将其注册,然后根据需要在所有位置使用它。查看this

答案 3 :(得分:-1)

您可以通过c# assembly实施,就像传统的public static class Globals { public const Int32 BUFFER_SIZE = 10; // Unmodifiable public static String FILE_NAME = "Output.txt"; // Modifiable public static readonly String CODE_PREFIX = "US-"; // Unmodifiable }

一样
1

请参阅我的这个旧答案以获取更多信息:

https://stackoverflow.com/a/14368428/796085