我已经创建了一个ASP。. NET网页(.aspx),它使用包含订阅表单的Jquery插件。
包含表单的模态弹出,没有任何问题或错误,但问题是当我用数据完成表单并按下提交按钮时,表单不会发回,因此c#中的codebehind无法处理表单数据。
这是JQuery模态插件:http://vodkabears.github.io/remodal/
这是ASP。. NET页面代码:
<a href="#" data-remodal-target="modal" class="action-button">Get Free Trial</a>
<div class="remodal" data-remodal-id="modal">
<label>First Name</label>
<asp:TextBox ID="TextBoxFirstName" runat="server" />
<label>Last Name</label>
<asp:TextBox ID="TextBoxLastName" runat="server" />
<label>Email</label>
<asp:TextBox ID="TextBoxEmail" runat="server" />
<asp:button runat="server" ID="ActiveCampaignSend" Text="Subscribe" OnClick="FormSubmit_Click"/>
</div>
背后的c#代码示例:
protected void FormSubmit_Click(object sender, EventArgs e)
{
// Code thate processes the form goes here....
}
我已经测试了表单没有使用Jquery ReModal,它提交和工作完美。我会尽量不使用模态窗口,但我的客户已经特别要求它发生这种方式。
如果有人能帮我解决这个问题,我将非常感激!经过进一步的研究,我发现这篇文章解决了这个问题:
jQuery模态表单对话框回发问题
remodal插件使用你的<div class="remodal" data-remodal-id="modal">
作为原型来构建模态窗口的dom元素。当它这样做时,它将它们附加到body
,在form
标记之外。这就是为什么它们不与你的表单交互,你也得不到回发
当您的asp:button
被点击,复制电子邮件,姓和名的输入值到表单的内部,然后调用form
上的submit
。