2010-07-17 1 views
3

У меня есть мой логин в fancybox, а fancybox div - в контроллере. проблема в том, что если нажать кнопку ничего не произойдет, событие не будет запущено. это мой controller.ascxСобытие Fancybox не активировано

<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 Благодарим вас за ответы.

+0

обернут ваша страница default.aspx в

тег с Runat = «сервер»? – jrista

+0

да моя форма default.aspx имеет runat = сервер –

+0

Он называется controller.ascx.cs, а не cotroller.ascx.cs, как у вас в вашем вопросе? –

ответ

1

Немного поздно, но это может вам помочь.

Это потому, что, как работает fancybox, когда fancybox отображает блок div, он создает временный div-блок с вашим контентом и добавляет его в конец тега body страницы, поэтому этот созданный временный блок создается вне тега формы.

На веб-странице, когда вы отправляете страницу назад, элемент управления, который генерирует событие postback, должен находиться в теге формы, чтобы идентифицировать действие обратной передачи страницы.

Для решения этой проблемы вы можете использовать немного javascript, создать еще один элемент управления кнопками, но он не должен быть частью управления fancybox, а кнопка отправки в fancybox, событие клика на клике другой созданной кнопки (которая будет внутри формы тег) с помощью javascript.

Это должно решить вашу проблему, пожалуйста, голосуйте, если она ответит на ваш вопрос.

+1

Отличный ответ. СПАСИБО. – neverwinter

0

Мы можем решить fancybox 2 event not firing issue, используя родительское свойство fancybox. , например -

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