Asp.net 从内容页重定向和发布

Asp.net 从内容页重定向和发布,asp.net,Asp.net,我使用这个类使用post方法将一些变量发送到外部应用程序。你可以查看完整的过程->我不知道那篇链接文章中的问题是什么,关于在服务器端发布到某个外部应用程序,然后重定向。可能是某个特定的用例/场景 如果您只想从ASP.NETWebFrm发布外部应用程序,并且重定向不是一个精确的术语——AKA将用户发送到第三方应用程序,则考虑 这篇文章实际上提到了这一点,然后错误地将其与想要重定向联系在Button.PostBackUrl上就足够了,除非我遗漏了什么。使用这些方法意味着 您将向第三方应用服务器端发送

我使用这个类使用post方法将一些变量发送到外部应用程序。你可以查看完整的过程->我不知道那篇链接文章中的问题是什么,关于在服务器端发布到某个外部应用程序,然后重定向。可能是某个特定的用例/场景

如果您只想从ASP.NETWebFrm发布外部应用程序,并且重定向不是一个精确的术语——AKA将用户发送到第三方应用程序,则考虑

这篇文章实际上提到了这一点,然后错误地将其与想要重定向联系在Button.PostBackUrl上就足够了,除非我遗漏了什么。使用这些方法意味着

您将向第三方应用服务器端发送HTTP请求,例如POST数据 您将在应用程序中处理来自第三方的响应,而不是重定向 对来自第三方应用程序的数据执行任何需要执行的操作 决定下一步要做什么: 在应用程序中呈现某些结果,或; 如果您认为是这样,请执行HTTP重定向,这可能是因为此操作需要来自重定向之前获得的响应数据的某些内容。一个很好的例子是PayPal的Express Checkout classic API,其中令牌从服务器端POST返回到应用程序,然后在重定向到PayPal时使用。 此外,在ASP.NETWebForms的上下文中,在另一个表单中插入。ASP.net WebForms中的整个页面是一个表单

是的,您可以完全通过Javascript并在WebForm表单之外注入表单,但是考虑到上面的选项,并且除非有特定的用例,否则应该没有必要这样做


Hth…

正如EdSF所说,您确实不希望嵌套表单,因为它可能会导致问题。如果由于某种原因无法使用PostBackURL,您可以稍微更改一下代码

第一步是确保您在母版页中有来自的id。 第二步是使用strForm变量注释掉任何引用行 第三步是将foreach代码块更改为read

foreach (string key in data)
{
    Page.ClientScript.RegisterHiddenField( key, data[key] );
}
最后将preparePOSTForm方法中的最后一行更改为

return strScript.ToString();
参考资料


谢谢你的建议,但是我对这个完全陌生,我仍然有一些问题。。我在母版页中为我的表单提供了一个id,我对您建议的行进行了注释,编辑了preparePOSTForm中的最后一行,并更改了foreach,但它仍然不起作用。我在foreach中遇到一个错误。非静态字段、方法或属性System.Web.UI.page.ClientScript.get需要对象引用。我真的不明白…我会尝试使用这个问题中提出的解决方案来解决这个问题:
return strScript.ToString();