将多个值从View传递到Controller的好方法

时间:2013-07-17 19:50:39

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-4

这是每天都在发生的事情

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

我考虑会议,但是有可能会失去他们的会话,除了会话之外,重要的价值还有其他方法吗?

2 个答案:

答案 0 :(得分: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;
      }
   }    
}

答案 1 :(得分:0)

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

http://howmvcworks.net/OnViews/BuildingAStronglyTypedView