这是每天都在发生的事情
我正在寻找一种更好的方法来将视图中的值获取到动作中,因为控制器根据 http 请求创建和销毁,有没有一种很好的方法来传递所有参数?(我的意思是超过 5 个参数)
我想到了会话,但有可能会失去他们的会话并且重要的价值消失了,除了会话,还有其他方法吗?
这是每天都在发生的事情
我正在寻找一种更好的方法来将视图中的值获取到动作中,因为控制器根据 http 请求创建和销毁,有没有一种很好的方法来传递所有参数?(我的意思是超过 5 个参数)
我想到了会话,但有可能会失去他们的会话并且重要的价值消失了,除了会话,还有其他方法吗?
我会首先考虑您的应用程序是否需要在视图之间保存这么多信息。MVC 是基于 REST 的架构,通常设计为无状态。
话虽如此,您与用户传递状态的选项归结为会话、Cookie 和数据库。
我将创建一个静态类来存储和检索会话中的数据。
public static class CustomPersistStore
{
public static CustomClass Current{
get{
var instance = HttpContext.Current.Session["key"] as CustomClass;
if(instance = null) {
instance = new CustomClass();
}
return instance;
}
}
}
如果要将值从 View 传递给 Action,最佳实践是使用强类型视图。