我在fancybox中登录并且fancybox div在控制器中。问题是,如果单击按钮没有任何反应,则不会触发事件。
这是我的controller.ascx
<div id="inline1" style="width:400px;">
<ul class="forms">
<li class="inputfield"><asp:TextBox ID="kullanıcı_adi" runat="server"></asp:TextBox></li>
</ul>
<ul>
<li><asp:TextBox ID="sifre" runat="server"></asp:TextBox></li>
</ul>
<ul>
<li>
<asp:Button ID="Button1" runat="server" Text="Giriş Yap"
onclick="Login_Authenticate" />
<asp:Button ID="Button2" runat="server" Text="Vazgeç"/>
</li>
</ul>
</div>
这是我的cotroller.ascx.cs
protected void Login_Authenticate(object sender, EventArgs e)
{
bool authenticated = AuthenticateMe(kullanıcı_adi.Text, sifre.Text, true);
if (authenticated)
{
FormsAuthentication.RedirectFromLoginPage(kullanıcı_adi.Text, true);
}
}
这是default.aspx
<li class="gallery"><a id="various1" href="#inline1">Üye ol/Giriş Yap</a></li>
<div style="display: none;">
<co:c_login ID="id_c_login" runat="server" EnableViewState=true />
</div>
我找到了解决方案。之前问过同样的问题。
Fancybox - ASP.NET button not working谢谢您的回答。
最佳答案
有点晚了,但可能会对您有所帮助。
这是因为fancybox的工作方式,当fancybox显示div块时,它会使用您的内容创建临时div块,并将其附加到页面的body标签的末尾,因此,此生成的临时块是在form标签之外创建的。
在网页中,当您回发页面时,生成回发事件的控件必须在form标记内,以标识页面回发操作。
要解决此问题,您可以使用一些Javascript,创建另一个按钮控件,但不应将其作为fancybox控件的一部分,并在fancybox中的Submit按钮上,在帮助下触发另一个已创建按钮的点击事件(将在表单标签内)的JavaScript。
那应该可以解决您的问题,如果它回答了您的问题,请投票。
关于c# - Fancybox事件未触发,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3273686/