Web 表单呈现问题
Web-Form Rendering Issue
我有一个传统的用户控件,我有以下结构:
<asp:Content id="ContentBody" runat="server" ContentPlaceHolderId="MainContent">
<Core:AccountApplication id="uxAccountApplication" runat="server" />
</asp>
在用户控件里面我有一个传统的:
<form id="AccountForm">
<input type="text" id="txtCompany" name="Company" />
<input type="submit" id="btnSubmit" />
</form>
当我调用$('#AccountForm').serialize();
时出现问题请求总是空的,没有序列化。如果我执行 $('form').serialize();
它会序列化,但它也会获取所有 Web 表单 ViewState
呈现。这需要一些可疑的方法来纠正。
有没有更好的解决方法?
ASP.NET 中不允许嵌套形式(参见 this question 示例)。
您的 <form id="AccountForm">
元素将被 ASP.NET 删除(查看生成的 HTML 以确认这一点)。
在收到表示表单元素被移除的答复后,我进行了验证,确实是整个表单被移除了。所以我做了以下事情:
<div class="Application-Container">
<!-- All my form inputs -->
</div>
把它们包装成一个容器,然后我用jQuery把容器包装成一个表格。
$('.Application-Container').wrap('<form id="AccountForm"></form>');
现在当您提交时,它会重新包装到表单中,然后我可以调用 $('#AccountForm').serialize()
它会正确地构建我的表单数据。
我有一个传统的用户控件,我有以下结构:
<asp:Content id="ContentBody" runat="server" ContentPlaceHolderId="MainContent">
<Core:AccountApplication id="uxAccountApplication" runat="server" />
</asp>
在用户控件里面我有一个传统的:
<form id="AccountForm">
<input type="text" id="txtCompany" name="Company" />
<input type="submit" id="btnSubmit" />
</form>
当我调用$('#AccountForm').serialize();
时出现问题请求总是空的,没有序列化。如果我执行 $('form').serialize();
它会序列化,但它也会获取所有 Web 表单 ViewState
呈现。这需要一些可疑的方法来纠正。
有没有更好的解决方法?
ASP.NET 中不允许嵌套形式(参见 this question 示例)。
您的 <form id="AccountForm">
元素将被 ASP.NET 删除(查看生成的 HTML 以确认这一点)。
在收到表示表单元素被移除的答复后,我进行了验证,确实是整个表单被移除了。所以我做了以下事情:
<div class="Application-Container">
<!-- All my form inputs -->
</div>
把它们包装成一个容器,然后我用jQuery把容器包装成一个表格。
$('.Application-Container').wrap('<form id="AccountForm"></form>');
现在当您提交时,它会重新包装到表单中,然后我可以调用 $('#AccountForm').serialize()
它会正确地构建我的表单数据。