我的Home.aspx页面上有以下代码:
<form id="frmJump" method="post" action="Views/ViewsHome.aspx">
<input name="JumpProject" /><input type="submit" value="Go" />
</form>
但是,当我点击“开始”按钮时,页面会回到Home.aspx,而不是转到ViewsHome.aspx。
我甚至尝试添加一些脚本来强制表单提交:
<input name="JumpProject" onkeypress="if(event.keyCode == 13) { this.form.submit(); return false; }" />
但即使按ENTER键,也会重新加载Home.aspx页面。
我能看到的唯一可能是borking的东西是这个表单实际上是ASP.NET注入页面的主要POSTBACK表单的子表单。
我确信我有一些愚蠢的错过,这篇文章将获得800个downvotes立即让我回到n00b领域,但也许我最近没有得到足够的睡眠而且我错过了一些愚蠢的东西。
这是在IE7和ASP.NET 4.0后端。我也在页面上加载了jQuery库,jQuery可以以某种方式改进它。谢谢!
答案 0 :(得分:4)
最简单的解释是表格不能嵌套。
您可以考虑修改提交逻辑以适当地处理场景服务器端(通过单个回发表单。)否则,您可能必须考虑偏离标准ASP.NET Webforms回发模型的路由。
答案 1 :(得分:2)
您无法在HTML中嵌套表单,因此浏览器将忽略内部表单标记。提交表单时,它将提交页面上唯一的表单。
如果您需要将表单发布到其他页面,可以使用Javascript在发送之前更改当前表单(单击按钮),或者创建新表单元素,将其添加到页面并提交代替。
答案 2 :(得分:1)
您不能在HTML中嵌套表单。大多数浏览器都不支持它。
你可以做的是,因为你正在经历.net webforms,只是在C#中有一个与你点击的提交按钮相对应的Button_Click事件,让它从那里跳过项目。< / p>