Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 将多个值从视图传递到控制器的好方法_Asp.net Mvc_Asp.net Mvc 3_Asp.net Mvc 4 - Fatal编程技术网

Asp.net mvc 将多个值从视图传递到控制器的好方法

Asp.net mvc 将多个值从视图传递到控制器的好方法,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 4,这是每天都在发生的事情 我正在寻找一种更好的方法将视图中的值抓取到操作中,因为控制器是基于http请求创建和销毁的,有没有一种好的方法可以传递所有参数?(我指的是超过5个参数) 我考虑session,但是人们可能会失去他们的session,重要的值也会消失,除了session,还有其他方法吗?如果要将值从视图传递到操作,最佳做法是使用强类型视图 < /P> < P>我首先考虑你的应用程序是否需要在视图之间保存这么多信息。MVC是一种基于REST的体系结构,通常设计为无状态 话虽如此,您与用户传

这是每天都在发生的事情

我正在寻找一种更好的方法将视图中的值抓取到操作中,因为控制器是基于http请求创建和销毁的,有没有一种好的方法可以传递所有参数?(我指的是超过5个参数)


我考虑session,但是人们可能会失去他们的session,重要的值也会消失,除了session,还有其他方法吗?

如果要将值从视图传递到操作,最佳做法是使用强类型视图


< /P> < P>我首先考虑你的应用程序是否需要在视图之间保存这么多信息。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;
      }
   }    
}

这些参数是什么?它们是视图所需的参数,需要通过操作从一个视图转移到另一个视图吗?在我的例子中,是的,假设我有一个列表,当人们输入关键字时,我应该给他们一个经过过滤的新列表,但如果他们单击页码、所有关键字以及列表,他们看到的都是原作one@LifeScript页码链接可能包括查询字符串中的关键字。如果我理解正确,您希望在不同操作之间维护查询字符串。如果是这样,请看我对这个问题的回答: