首页 / 知识
关于javascript:如何发布,然后从ASP.Net重定向到外部URL?
2023-04-11 20:29:00

How Do I Post and then redirect to an external URL from ASP.Net?ASP.NET服务器端控件回发到自己的页面。 这使您想要将用户重定向到外部页面,但由于某种原因(例如,用于身份验证)而需要将该页面发布到该页面的情况变得很痛苦。
如果您不想重定向, 那么,如何既发布到外部URL,又将用户重定向到ASP.NET代码隐藏代码的结果? 这就是我今天解决此问题的方法。我从C#Corner上的这篇文章开始,但是发现了这个示例-尽管从技术上讲是合理的-有点不完整。他说的一切都是正确的,但是我需要访问一些外部站点才能将其组合起来以完全按照我的意愿工作。 用户根本就没有提交表单,这并没有帮助。他们正在单击链接以转到我们的支持中心,但必须将其记录在支持中心站点的http帖子中。
此解决方案涉及使用 当用户单击支持中心链接时,将调用以下方法来编写响应并重定向用户:
此方法的关键在于Javascript的onload位,当页面正文加载时,该位会提交表单,然后将用户重定向回我自己的主页。造成这种不安全感的原因是,我在新窗口中启动了外部站点,但是如果用户刷新页面,则不希望用户重新提交隐藏的表单。加上这种隐藏的形式使页面下降了几个像素,这让我感到不安。 我会对任何对此有任何更清洁的想法感兴趣。 埃里克·西普尔 我从CodeProject的这个例子开始 然后,我没有添加到页面,而是从saalon借用了(上面)并做了Response.Write()。 我会使用HttpWebRequest类在您的代码后面进行表单发布。这是一个入门的好帮手课程: http://geekswithblogs.net/rakker/archive/2006/04/21/76044.aspx 从那里,您可以执行Response.Redirect,或者您可能需要根据帖子的结果更改操作(如果出现错误,则将其显示给用户或其他)。我认为您已经在问题中有了坦白的答案-听起来您认为这是帖子或重定向,但实际上您可以从后面的代码中同时进行操作。 我需要在同一窗口中打开,处理原始页面中可能的框架问题,然后使用后面的代码重定向到外部站点:
为此,我呈现了一种将表单自动发布(使用JavaScript)到所需的远程URL的表单-在Web表单的回发中收集发布所需的任何信息,然后为远程发布的表单构建HTML并将其呈现回去给客户。 我为此构建了一个实用程序类,其中包含远程URL和表单的名称/值对的集合。 如果您同时拥有两个页面,则跨页面发布将起作用,但是如果您需要发布到另一个站点(例如,PayPal)则不会。 如果您使用的是ASP.NET 2.0,则可以跨页发布。 编辑:我错过了您问有关外部页面的事实。为此,我认为您需要使ASP.NET页生成一个HTML表单,该表单的操作设置为远程URL,方法设置为POST。 (使用跨页面发布,这甚至可以是没有UI的其他页面,只有隐藏的表单元素。)然后,在客户端上收到回发结果后,立即添加一些JavaScript以提交表单。 |
最新内容
相关内容
python如何获取用户输入
python如何获取用户输入,培训,字符串,整数,类型,文本,文档,用户,小数点,位数,以上,python整数输入#!/usr/bin/python3usr_ip=input("Enteran关于apache:如何将HTTPS重定向到HTT
关于apache:如何将HTTPS重定向到HTTP?,关于apache:如何将HTTPS重定向到HTTP?,服务器,重定向,认证,我在,How do you redirect HTTPS to HT关于unix:允许用户设置SSH隧道,但无
关于unix:允许用户设置SSH隧道,但无其他设置,关于unix:允许用户设置SSH隧道,但无其他设置,用户,身份,我想,该用户,Allow user to set up减少ASP.NET菜单控件的大小(没有第
减少ASP.NET菜单控件的大小(没有第三方库),减少ASP.NET菜单控件的大小(没有第三方库),菜单,文件,站点地图,选项,Reduce ASP.NET menu关于身份验证:我应该使用用户名还是
关于身份验证:我应该使用用户名还是用户ID来引用ASP.NET中经过身份验证的用户,关于身份验证:我应该使用用户名还是用户ID来引用ASP.N内置用户配置文件与旧式用户类/表
内置用户配置文件与旧式用户类/表的ASP.NET,内置用户配置文件与旧式用户类/表的ASP.NET,最佳实践,配置文件,应将,寻找,ASP.NET built如何使用纯HTTP身份验证和PHP在Apa
如何使用纯HTTP身份验证和PHP在Apache下获取经过身份验证的用户名?,如何使用纯HTTP身份验证和PHP在Apache下获取经过身份验证的用户关于sql server:由多个用户编辑数据
关于sql server:由多个用户编辑数据库记录,关于sql server:由多个用户编辑数据库记录,服务,应用程序,规范化,用户,Editing database re在VB6 IDE中工作时卸载COM控件
在VB6 IDE中工作时卸载COM控件,在VB6 IDE中工作时卸载COM控件,应用程序,通用,旧版,维护,Unload a COM control when working in VB6关于html:确定用户的时区
关于html:确定用户的时区,关于html:确定用户的时区,字符串,方法,网页,服务器,Determine a user's timezone
Web服务器是否有一种标准