Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.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
C# ViewBag可用于将数据从视图传递到控制器或绑定到模型属性吗_C#_Asp.net Mvc_Viewbag - Fatal编程技术网

C# ViewBag可用于将数据从视图传递到控制器或绑定到模型属性吗

C# ViewBag可用于将数据从视图传递到控制器或绑定到模型属性吗,c#,asp.net-mvc,viewbag,C#,Asp.net Mvc,Viewbag,我知道ViewBag和ViewData可用于将数据和对象从控制器传递到相应的视图。它们可用于反之亦然,即将数据从视图传递到控制器或绑定到模型属性。我在视图中选择了一个文件。现在,我可以使用ViewBag将该文件传递给控制器或将该文件绑定到我的模型属性吗 谢谢不能使用ViewBag或ViewData容器将数据传输回控制器。这是由于页面是无状态的。因此,一旦视图完全渲染(以及所有后续视图),ViewBag容器将被丢弃 要将信息传递回控制器,您的选项将在查询字符串或表单属性中使用HttpGet或Htt

我知道ViewBag和ViewData可用于将数据和对象从控制器传递到相应的视图。它们可用于反之亦然,即将数据从视图传递到控制器或绑定到模型属性。我在视图中选择了一个文件。现在,我可以使用ViewBag将该文件传递给控制器或将该文件绑定到我的模型属性吗


谢谢

不能使用ViewBag或ViewData容器将数据传输回控制器。这是由于页面是无状态的。因此,一旦视图完全渲染(以及所有后续视图),ViewBag容器将被丢弃

要将信息传递回控制器,您的选项将在查询字符串或表单属性中使用HttpGet或HttpPost。这可以通过传统请求或aJax请求实现

但是,可以将ViewBag\ViewData中的值绑定到模型特性。但是,必须使用上述方法之一将该模型属性发送回控制器


希望这有帮助。

查看包的生命周期仅在初始请求期间持续,因此在您发出其他请求时不会定义它。 请参阅此处的更多信息:

但是,您可以执行以下操作:


为将来的请求生成路由参数等

我知道如何将模型属性发回控制器,但如何首先绑定它…我有一个文件输入类型,所选文件需要绑定到模型属性,该属性是HttpPostedFileBase属性。在该示例中,您不能将HttpPostedFileBase属性设置为这必须由浏览器文件控件(或html5中的文件api)设置。如果您试图将一个值绑定到一个模型项,您只需在HTML元素上设置该值,该元素将包含在您的过去中。它必须绑定到将发回控制器的元素。文件输入不允许您设置值。我遇到的问题是,在本例中,它是ajax表单的一部分。您将无法绑定文件的值。这样做意味着您可以访问客户端上的文件系统