【发布时间】:2013-11-05 20:13:22
【问题描述】:
有没有办法重定向到控制器并将 JSON 对象作为 POST 方法传递?我可以通过使用Response.Redirect("../ControllerName/ActionName?parameter=" + jsonQuery, true); 的GET 方法来实现这一点,但是GET 方法对查询字符串的长度有限制。一定长度后会抛出异常。
此外,任何替代方法都会非常有帮助。我想要达到的目标如下。
我有一个 WebForms 和 MVC 并行运行的应用程序。我在网络表单上有一个页面,在该页面上有一个报告按钮。单击报告按钮时,我需要将一些数据放在后面的代码(aspx.cs 文件)中并将其传递给我的控制器,然后我将填充我的模型并将其传递给我的视图。
我愿意接受任何建议和任何替代方法。
【问题讨论】:
-
您熟悉 System.NetHttpWebRequest 类吗?您可以通过代码向任何 URL 执行发布。
-
我实际上从未使用过该类。我会调查它,希望它能解决问题:)。非常感谢。
-
@codingstill 看起来 HttpWebRequest 类可用于发布信息,但我的情况出现的问题是我需要在重定向过程中发布帖子。所以我需要能够进入一个带有发布数据的控制器并从那里渲染视图。有什么建议么?谢谢。
-
我建议您直接发布到 MVC 站点上的控制器并执行您在控制器的代码隐藏中执行的任何操作。如果不想重复代码,可以将共享代码放在两个项目都使用的DLL中。
-
可以Server.Transfer 满足您的需求吗?
标签: asp.net asp.net-mvc json webforms response.redirect