如何在 response.redirect 中将列表作为参数传递

本文关键字:列表 参数传递 response redirect | 更新日期: 2023-09-27 18:35:42

Prob1:I有 2 个列表,我想在下一页访问这些列表,我将重定向这些列表。当前结果, 当我传递结果时,在 url 中它显示了列表数据类型。

ex:System.Collections.Generic.List1[IDataEntities.ISearchResultsEntity]

概率2:I在 ajax 帖子中有一个方法调用,我能够导航到该方法,但在里面我已经完成了 response.redirect,它失败了,说"线程中止异常"

如何在 response.redirect 中将列表作为参数传递

使用会话来保存您的列表,如下所示

Session["mylist"] = list;

您可以从下一页访问它,还有许多其他方法。 请检查此链接。

当您调用Response.Redirect按如下方式调用时

Response.Redirect(url, false);
Context.ApplicationInstance.CompleteRequest();

但不要在服务器端对 ajax 调用进行重定向,ajax 调用已完成,您可以从客户端调用重定向。

成功时 AJAX 回调方法

window.location = '[url to redirect]';

问题 1:您需要用逗号分隔列表值。需要更多信息来为您提供确切的代码,因为我不知道这是 asp.net 还是 asp.net mvc 或其他东西。例如,如果这是重定向到 asp.net mvc 中的另一个操作,则您的接收器操作参数需要是一个列表,并且您重定向到/Receiver?param1=value1,value2,value3 ...

希望这能回答您的问题

问题 2:无法从 ajax 请求重定向。需要返回一些特殊的东西并在前端处理它。

Prob1。将公共属性添加到当前页面,类型为 List<Class> 。在下一页(重定向()的目标页面)上,在ASPX文件中添加prevoiusPageType标记。现在您可以访问Page.PreviousPage.ListToAccess。

概率 2.添加 false 作为重定向的参数,如Response.Redirect("<URL-of-target-page", false);