2

这是每天都在发生的事情

我正在寻找一种更好的方法来将视图中的值获取到动作中,因为控制器根据 http 请求创建和销毁,有没有一种很好的方法来传递所有参数?(我的意思是超过 5 个参数)

我想到了会话,但有可能会失去他们的会话并且重要的价值消失了,除了会话,还有其他方法吗?

4

2 回答 2

2

我会首先考虑您的应用程序是否需要在视图之间保存这么多信息。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;
      }
   }    
}
于 2013-07-17T19:59:17.530 回答
0

如果要将值从 View 传递给 Action,最佳实践是使用强类型视图。

http://howmvcworks.net/OnViews/BuildingASstronglyTypedView

于 2013-07-17T19:55:20.060 回答