我想在某处声明一个变量并在某个动作方法中初始化它。然后我想在其他方法和其他控制器方法中使用该赋值变量。
我如何才能完成它?
答案 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
请参阅我的这个旧答案以获取更多信息: