不会触发Fancybox事件

时间:2010-07-17 23:38:57

标签: c# asp.net user-controls fancybox

我在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感谢您的回答。

2 个答案:

答案 0 :(得分:1)

有点晚了,但它可能对你有帮助。

这是因为fancybox如何工作,当fancybox显示div块时,它会为您的内容创建临时div块并将其附加到页面的body标记的末尾,因此生成的临时块在表单标记之外创建。

在网页回发页面时,生成回发事件的控件必须位于表单标记内,以识别页面回发操作。

要解决此问题,您可以使用一些javascript,创建另一个按钮控件,但它不应该是fancybox控件的一部分,并且在fancybox中的提交按钮,触发另一个创建按钮的事件点击事件(将在表单标签内)借助javascript。

这应解决您的问题,如果它回答您的问题,请投票。

答案 1 :(得分:0)

我们可以使用fancybox的父属性来解决fancybox 2事件而不是触发问题。 例如 -

$("#buttonClick").fancybox({
            parent: "form:first",//Asp.net Button click event not working issue solved by using this statement
            ......your fancybox config options
        });