我有一个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>
Run Code Online (Sandbox Code Playgroud)
表单比我提供的示例更复杂,但它大致了解了我需要转换的内容.这是我遇到的问题.
如果我按原样保留: 当您单击提交按钮时,您将回发到当前页面而不是外部页面
如果简单地将所有内容转换为asp表单控件并更改回发网址: id会变成一些令人费解的"ctl00_body_ctl00",外部页面无法解释.
注意:我确实需要该页面是一个aspx页面,因为我在页面上使用其他内容的母版页.
附加说明:这不是Microsoft MVC.
我错过了什么?
问题出在其他人提到的嵌套表格上.
我只需执行以下操作即可解决所有问题:
旧代码如下:
<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>
Run Code Online (Sandbox Code Playgroud)
新代码:
<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>
Run Code Online (Sandbox Code Playgroud)
这解决了无效嵌套表单的任何问题,因为没有.它还解决了asp .net重命名asp元素的问题,因为重命名的唯一控件是asp按钮控件,这对于提交成功不是必需的.
| 归档时间: |
|
| 查看次数: |
1565 次 |
| 最近记录: |