Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.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/0/asp.net-mvc/16.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
.net ASP-MVC:授权后重定向时对象实例丢失_.net_Asp.net Mvc_Redirect_Authorization - Fatal编程技术网

.net ASP-MVC:授权后重定向时对象实例丢失

.net ASP-MVC:授权后重定向时对象实例丢失,.net,asp.net-mvc,redirect,authorization,.net,Asp.net Mvc,Redirect,Authorization,我在绑定表单数据的操作上有一个“Authorize”属性 如果用户提交表单但未经授权,则会出现登录提示。登录后,用户将被正确重定向,但模型为空 如何处理这个问题?这一直是一个问题,需要你克服重重困难才能保持这种状态。您始终可以在会话和视图状态中双重存储模型,这样,如果用户来自具有空模型的地方,您可以在会话中查找该模型 我考虑过但从未尝试过的一件事是,在同一页面上以模式对话框的形式显示登录提示,而不是重定向到单独的登录页面,然后再重定向回去。登录GUI逻辑通常非常简单,不需要单独的视图 例如,您可

我在绑定表单数据的操作上有一个“Authorize”属性

如果用户提交表单但未经授权,则会出现登录提示。登录后,用户将被正确重定向,但模型为空


如何处理这个问题?

这一直是一个问题,需要你克服重重困难才能保持这种状态。您始终可以在会话和视图状态中双重存储模型,这样,如果用户来自具有空模型的地方,您可以在会话中查找该模型

我考虑过但从未尝试过的一件事是,在同一页面上以模式对话框的形式显示登录提示,而不是重定向到单独的登录页面,然后再重定向回去。登录GUI逻辑通常非常简单,不需要单独的视图


例如,您可以使用Json消息编码将登录公开为一个简单的WCF服务,然后使用jQuery从模式对话框与之对话。

一个基本解决方案是创建一个新的ActionFilter属性,其行为类似于授权,不同之处在于它将在重定向之前在会话中存储模型,然后用户登录,重定向回数据表单。然后用可能存储的值填充数据表单当授权用户获得数据表单时,用户可以再次提交已填充的表单。您可以根据自己的意愿进行更改,甚至可以将数据存储在客户端(这必须是可能的),但主要思想是使用自定义授权操作筛选器,在重定向之前存储模型,而不是授权。

MVC中没有ViewState,或者我错了吗?Abysis,MVC中没有ViewState。我喜欢ViewState现在是开发者的支柱。