保持控制器在范围内
本文关键字:范围内 控制器 | 更新日期: 2023-09-27 18:11:35
昨天我正在工作在我的asp.net mvc应用程序中,我试图在一个字段中缓存一些数据,而某个控制器在范围内。每次打开一个新视图,字段就会清除。
问题:是否有可能保持你的控制器在范围内,而你正在浏览的视图是由控制器处理?
private static List<string> _listOfStrings;
[Authorize]
public ActionResult ToView1()
{
_listOfStrings = new List<String>(){"test","test2"};
var model = new Model();
return View(model);
}
[Authorize]
public ActionResult FromView1ToView2()
{
var model = new Model(_listOfStrings);
//the issue at hand is that '_listOfStrings' is not persisted.
return View(model);
}
有人知道这是可能的吗?(列表很大,所以我宁愿不通过模型发送到视图,反之亦然)
您需要阅读有关ASP的内容。. NET MVC生命周期。
简短的回答:不,你不能导致Controller
在调用一个动作后被破坏。详细答案:您可以存储(缓存)数据在TempData
或Session
属性
_listOfStrings是与listofstring不同的变量。您不是在向静态字段写入或从静态字段读取。在您提供的代码中,_listOfStrings甚至没有定义。
使用一个静态变量,这段代码将工作