Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# &引用;“全球”;mvc应用程序中的可用信息_C#_Asp.net Mvc_Model_Viewbag - Fatal编程技术网

C# &引用;“全球”;mvc应用程序中的可用信息

C# &引用;“全球”;mvc应用程序中的可用信息,c#,asp.net-mvc,model,viewbag,C#,Asp.net Mvc,Model,Viewbag,在应用程序的整个生命周期中,我需要能够访问(添加/编辑/更新)一些基本信息。当用户登录时,他们可以进入应用程序中的页面并选择合同,我希望能够访问应用程序中任何位置的合同参考号和公司名称。Viewbag和viewdata似乎是一个值得远离的东西,那么最好的方法是什么呢?我考虑过创建一个基类来保存contract ref和company name,然后我创建的每个模型和视图模型都将继承自这个基类,并且contract ref可以针对每个不同的模型从一个控制器更新到另一个控制器。这是一种良好的做法还是

在应用程序的整个生命周期中,我需要能够访问(添加/编辑/更新)一些基本信息。当用户登录时,他们可以进入应用程序中的页面并选择合同,我希望能够访问应用程序中任何位置的合同参考号和公司名称。Viewbag和viewdata似乎是一个值得远离的东西,那么最好的方法是什么呢?我考虑过创建一个基类来保存contract ref和company name,然后我创建的每个模型和视图模型都将继承自这个基类,并且contract ref可以针对每个不同的模型从一个控制器更新到另一个控制器。这是一种良好的做法还是有更好的方法将其保存在数据库中?创建新的会话数据,并添加合同参考号和公司名称此会话数据以配合数据库方法。MVC是一种无状态框架。在会话中保存项目与此相矛盾,因为它试图保持状态。当添加多个web服务器时,进程内会话状态也不可扩展。在我看来,你对基本视图模型的建议是最好的方法。然后,在用户会话的整个生命周期中,围绕模型传递这些信息。您最初说的是“应用程序的生命周期”。。。我想你的意思是“用户会话”,因为会话和应用程序是不同的东西。数据存储在数据库中。我会给你一个例子,说明为什么我需要在我的应用程序中提供合同参考。用户可以生成一整套报告,有些是针对特定公司的,有些是针对特定合同参考的,因此,例如,当前用户可以选择一份合同作为“当前选定”合同,然后从当前合同的一整套报告中进行选择