ASP.NET中的嵌套表单问题

时间:2009-06-19 16:49:12

标签: c# asp.net jquery file-upload nested-forms

我想在点击按钮时显示弹出窗口。弹出窗口应该有文件上传控件。 我需要实现上传功能。

基页有嵌套表格。里面嵌套了三种形式。如果我评论这两个表单,那么我可以从Request Object获取发布的文件。但我不想对其他两种形式发表评论。对于嵌套表单,我没有从Request对象获取发布的文件。

我需要一些协议来实现它。

我正在使用C#。弹出窗口是使用jQuery设计的。

根据建议,我在这里发布示例代码。

<form id="frmMaster" name="frmMaster" method="post" action="Main.aspx" Runat="server" enctype="multipart/form-data">

<form method='Post' name='frmSub'>                      
<input type="hidden" name='hdnData' value=''>                   
</form> // This form is driven dynamically from XSL


<form method='Post' name='frmMainSub'>                      
<input type="hidden" name='hdnSet' value=''>                    
</form>


</form>

注意:

评论内部表单很好。但是,因为它不需要触及那些形式的其他功能。

我已将此代码用于示例目的。此页面中的实际LOC为1200.第二个表单动态加载了大量控件。我被要求不要触摸现有的表格。是否可以使用嵌套表单执行此功能?

3 个答案:

答案 0 :(得分:5)

您可以在页面中包含多个HTML表单标记,但它们不能互相嵌套。您需要删除嵌套才能使其正常工作。如果您发布了一些代码,那么您可能会获得更多帮助,以解决此问题。

根据您发布的代码,您还不清楚为什么甚至想要使用多种形式。你能详细说明为什么你认为你需要多种形式吗?您的子表单中没有明确的操作,因此很难分辨您希望它们发布的位置,但我猜测它们都发布到同一页面。那么,为什么要有多种形式?

答案 1 :(得分:2)

您可以随时尝试将其中一个内部表单放到另一个页面上并在iframe中提供。这样,内部形式在技术上不在外部形式内。这将要求你改变一些html,但实际上没有办法解决这个问题。

答案 2 :(得分:0)

在你的情况下,无论你怎么说,你都在看黑客。你不应该有嵌套的表格。

由于您使用Javascript执行此操作,因此可以尝试移动从父表单发回的表单元素,然后执行 .submit()移动后的行动。

这是一个丑陋的黑客 - 但我也是HTML - :)(我的孩子,我的孩子!)