gpt4 book ai didi

asp.net - ASP .net 应用程序中的遗留 html 表单

转载 作者:行者123 更新时间:2023-12-02 07:56:28 25 4
gpt4 key购买 nike

我有一个 html 页面,我正在将其转换为 asp .net 页面。此页面包含一个访问我无法控制的外部网站的表单。下面是一些示例代码:

<asp:Content ID="sample" ContentPlaceHolderID="body" Runat="Server">
<form name="Subscribe" method="post" action="http://anexternalwebsitehere.com/subscribe.asp">
<input type="text" name="email" size="45" maxlength="120" />
<input type="submit" name="submit" value="Subscribe" />
</form>
</asp:Content>

该表格比我提供的示例更复杂,但它大致说明了我需要转换的内容。以下是我遇到的问题。

如果我保持原样:当您单击提交按钮时,您将回发到当前页面而不是外部页面

如果简单地将所有内容转换为 asp 表单控件并更改回发 url:ID 变成了一些复杂的“ctl00_body_ctl00”,外部页面无法解释。

注意:我确实需要页面为 aspx 页面,因为我正在为页面上的其他内容使用母版页。

附加说明:这不是 Microsoft MVC。

我错过了什么?

最佳答案

问题出在其他人提到的嵌套表单上。

我只需执行以下操作即可解决所有问题:

  1. 删除我添加的额外表单元素。
  2. 将所有控件保留为简单的 html 控件,提交按钮除外。
  3. 将提交按钮替换为 asp .net 按钮,并设置回发 url。

旧代码如下:

<asp:Content ID="sample" ContentPlaceHolderID="body" Runat="Server">
<form name="Subscribe" method="post" action="http://anexternalwebsitehere.com/subscribe.asp">
<input type="text" name="email" size="45" maxlength="120" />
<input type="submit" name="submit" value="Subscribe" />
</form>
</asp:Content>

新代码:

<asp:Content ID="sample" ContentPlaceHolderID="body" Runat="Server">
<input type="text" name="email" size="45" maxlength="120" />
<input type="submit" name="submit" value="Subscribe" />
<asp:button postbackurl="http://anexternalwebsitehere.com/subscribe.asp" text="Subscribe" runat="server" />
</asp:Content>

这解决了无效嵌套表单的任何问题,因为没有。它还解决了 asp .net 重命名 asp 元素的问题,因为唯一被重命名的控件是 asp 按钮控件,这对于成功提交不是必需的。

关于asp.net - ASP .net 应用程序中的遗留 html 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/687260/

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