gpt4 book ai didi

c# - 为什么表单中的表单在 Internet Explorer 中不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 16:35:03 24 4
gpt4 key购买 nike

我从代码后面添加一个表单到 asp:PlaceHolder控制。
当我将表格添加到 placeholder<form>标签丢失。
Asp.net 出于某种原因将其删除。

但是我已经找到了解决方法。我添加了(空表单):

<form></form>
<form... my form code that comes from code behind...

这在除 IE 之外的所有浏览器中都可以正常工作!
知道如何在 IE 中解决这个问题。

(也许这很重要)这个表单实际上是一个PayPal按钮代码,我从数据源中得到它。
我需要在页面上添加 10 个按钮:

<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">           
<input type="hidden" name="cmd" ...

最佳答案

asp.net 网络表单的缺点之一是在普通的 asp.net 页面中只允许使用一个 asp.net 表单。一种具有 runat="server" 的表格在该表单中,只有 asp.net 控件可以正确工作并与后面的代码合作。

但是您可以打破它 - 但不能继续具有相同的 asp.net 功能。您可以做的是使用 LiteralControl 并直接在页面上呈现 PayPal 按钮代码,并且仅在使用 </form> 关闭全局表单之前.只有在添加新的之前关闭。

现在当你这样做的时候,你必须忘记在同一页面上发回的帖子,而实际上只有发布到 PP。使某些 asp.net 页面具有功能性的唯一方法是在第一个表单关闭之前将其保留,并在 web.config 上设置将验证置于顶部的选项。

所以你开始

<form  name="aspnetForm" method="post" action="/ui/login.aspx?ReturnUrl=General.aspx" >
... some controls that post back to aspx page
</form>

你最终得到了

<form  name="aspnetForm" method="post" action="/ui/login.aspx?ReturnUrl=General.aspx" >
... some controls that post back to aspx page
... up to here maybe the buttons will work for the page, after that not any more
</form> //<---- added by you
// follow the PayPal buttons
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" ... >
</form>

// second button, etc
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" ... >
</form>
// now this close form is orphan....
</form>

您可以选择发布重定向,但需要更多代码和一个中间页面来在代码后面创建 PayPal 发布数据。这是一个例子 http://www.codeproject.com/Articles/37539/Redirect-and-POST-in-ASP-NET

您可以使用 javascript 实现同样的技巧,使用 javascript 即时创建一个表单并将其发布到 paypal 按钮,所有这些都在使用 javascript 的同一页面上。

我已经使用了所有这些技术,它们都有效。

关于c# - 为什么表单中的表单在 Internet Explorer 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16262481/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com