C# 如何将ViewState的值读入变量?

C# 如何将ViewState的值读入变量?,c#,asp.net,viewstate,C#,Asp.net,Viewstate,我在字段中声明了一本词典,例如: Dictionary<String, string[]> operationDetails = new Dictionary<string, string[]> { }; 现在,我想读取此变量并将其存储回operationDetails: operationDetails = ViewState["operationDetails"]; 但是,这会返回一个错误,即无法将对象转换为字典。我尝试了Convert.ToDictionary,

我在字段中声明了一本词典,例如:

Dictionary<String, string[]> operationDetails = new Dictionary<string, string[]> { };
现在,我想读取此变量并将其存储回
operationDetails

operationDetails = ViewState["operationDetails"];
但是,这会返回一个错误,即无法将对象转换为字典。我尝试了
Convert.ToDictionary
,但这样的语句并不存在


如何将此视图状态读回变量?

必须将视图状态转换回其原始数据类型

operationDetails = ViewState["operationDetails"] as Dictionary<String, string[]>;
operationDetails=ViewState[“operationDetails”]作为字典;

您必须将ViewState转换回其原始数据类型

operationDetails = ViewState["operationDetails"] as Dictionary<String, string[]>;
operationDetails=ViewState[“operationDetails”]作为字典;

这就是为什么建议使用ViewBag而不是ViewState 它可以避免您在视图中进行重新转换

set in c#   as  ViewBag.operationDetails = operationDetails;
get in razor as operationDetails =ViewBag.operationDetails

这就是为什么建议使用ViewBag而不是ViewState 它可以避免您在视图中进行重新转换

set in c#   as  ViewBag.operationDetails = operationDetails;
get in razor as operationDetails =ViewBag.operationDetails