首页 / 知识
关于asp.net:将用户从编辑页面重定向回调用页面
2023-04-13 18:16:00

Redirecting users from edit page back to calling page我正在开发项目管理Web应用程序。 用户可以通过多种方式来显示任务列表。 在查看列表页面时,他们单击任务,然后重定向到任务编辑页面。 由于它们来自多种方式,因此我很好奇将用户重定向回调用页面的最佳方式。 我有一些想法,但想征询其他开发人员的意见。 您是否可以在会话中存储调用网址? 作为cookie? 我喜欢使用对象处理重定向的概念。 我将使用ViewState存储引用URL。如果打开了多个浏览器窗口,则将其存储在页面范围之外(即处于会话状态或Cookie)可能会导致问题。 以下示例验证了该页面是否在内部被调用(即未直接请求),并在用户提交响应后反弹回引用页面。
对于这个问题,我同意" rmbarnes.myopenid.com"是与平台无关的。 我会将调用页面的URL存储在QueryString或隐藏字段中(例如,在ASP.NET的ViewState中)。如果将其存储在页面范围之外(例如Session,全局变量-应用程序状态等),那么它不仅会像Tom所说的那样过大,还会给您带来麻烦。 什么样的麻烦?如果用户打开了该浏览器的多个标签(窗口),则出现问题。同一浏览器的选项卡(或窗口)可能会共享同一会话,并且重定向不会是预期的,并且所有用户都会感觉到这是一个错误。 我的2欧分 我将此消息标记为asp.net,但我认为这是一个与平台无关的问题,所有新的Web开发人员都在寻求一种"干净"的方法来解决这个问题。 我认为实现这一目标的两个选择是: 我不喜欢url方法,它有点混乱,您必须记住在每个相关URL中都包含参数。 我将为此使用带有静态方法的对象。该对象将包装用于存储重定向URL的会话项。 这些方法可能如下(所有公共静态):
setRedirectUrl将在产生链接/表单的任何操作中调用,这些链接/表单需要重定向到给定的url。因此,假设您有一个项目视图操作,该操作会生成一个项目列表,每个项目都具有可以对它们执行的任务(例如,删除,编辑),您可以在代码中调用RedirectClass.setRedirectUrl(" / project / view-all")这个动作。 然后,假设用户单击删除,则需要在执行删除操作后将其重定向到视图页面,因此在删除操作中,您将调用RedirectClass.setRedirectUrl(" / project / view-all")。该方法将查看是否在会话中设置了重定向变量。如果是这样,则重定向到该URL。如果不是,则重定向到默认URL(传递给setRedirectUrl方法的字符串)。 我个人将所需的重定向信息存储在一个对象中并进行全局处理。我会避免使用QueryString param之类的东西,因为他们可以尝试将自己弹回到他们不应该去的页面上(可能是安全问题?)。然后,您可以创建一个静态方法来处理重定向对象,该方法可以读取信息并采取相应的措施。这会将您的重定向过程封装在一页内。 使用对象还意味着您以后可以根据需要扩展它(例如添加返回消息和其他信息)。 例如(这是2分钟的粗略指南BTW!):
|
最新内容
相关内容
在Python中使用带有列表和字符串文
在Python中使用带有列表和字符串文字的for循环,代码,数字,培训,之间,字符串,列表,语句,文字,奇数,这一点,现在看一下下面的代码,输出1到100之Python之logging模块重定向
Python之logging模块重定向,信息,标准,时间,培训,网络,实时,工程,较大,代码,地方,对于代码量较大的工程,建议使用logging模块进行输出。该模块Python生成表达式和列表解析
Python生成表达式和列表解析,工具,培训,列表,表达式,生成器,嵌套,计算所,元素,两个,动作,生成器表达式(Generatorexpression)和列表解析(ListPython重定向之print >>和sys.stdo
Python重定向之print >>和sys.stdout,标准,代码,灵活,观察,通用,培训,对象,文件,语句,方法,print>>重定向这种方式基于print语句的扩展形式,即Python重定向方式
Python重定向方式,标准,系统,培训,命令,控制台,脚本,内容,方式,表示,文件,本节介绍常用的Python标准输出重定向方式。这些方法各有优劣之处,适python 列表元素的删除
python 列表元素的删除,代码,数据,位置,连续,异常,首次,培训,元素,列表,空隙,使用del命令删除列表中的指定位置上的元素。>>>a_list=[3,5,7,9python 列表元素访问与计数
python 列表元素访问与计数,异常,首次,培训,列表,元素,下标,对象,方法,次数,以上,使用下标直接访问列表元素,如果指定下标不存在,则抛出异常。>python 列表排序
python 列表排序,培训,对象,列表,升序,逆序,方法,函数,原地,元素,降序,使用列表对象的sort()方法进行原地排序,支持多种不同的排序方法。>>>aLPython内置的列表
Python内置的列表,位置,培训,下来,元素,索引,列表,末尾,定义,数据类型,方法,python内置的一种数据类型是列表:list。list是一种有序且可变的集python 列表元素的增加
python 列表元素的增加,地址,位置,情况,元素,列表,代码,培训,对象,尾部,变量,可以使用“+”运算符将元素添加到列表中。>>>aList=[3,4,5]>>>apython之如何使用初始化种子和迭代
python之如何使用初始化种子和迭代函数生成列表,数据,标准,位置,工具,培训,代码,函数,列表,初始化,种子,本篇阅读的代码实现使用一个初始化种python如何读取列表中元素的位置?
python如何读取列表中元素的位置?,位置,数据,异常,培训,字符串,元素,索引,方法,示例,结果,python读取列表中元素位置的方法:1、使用index()方