2016-12-06 30 views
0

我有這樣的代碼按鈕不火法

<asp:ScriptManager ID="sm" runat="server"></asp:ScriptManager> 
<asp:UpdatePanel ID="UpdatePanelRegDDL" runat="server" ChildrenAsTriggers="true" UpdateMode="Conditional"> 
    <ContentTemplate>          
     <asp:Button runat="server" ID="Button2" Text="Crear Coordinador" OnClick="verificarCorreoServer" class="btn btn-success" UseSubmitBehavior="False" aria-hidden="true" /> 
    </ContentTemplate> 
    <Triggers> 
     <asp:AsyncPostBackTrigger ControlID="Button2" EventName="Click"/> 
    </Triggers> 
</asp:UpdatePanel> 

,因爲我不想讓按鈕刷新頁面,我做到了這一點,但現在的按鈕不火的方法verificarCorreoServer 。我不知道還有什麼要做。我已經看到很多與此相關的問題,但沒有爲我工作,該方法不會在UpdatePanel內激發。如果我將該按鈕放在UpdatePanel之外,該按鈕會觸發該方法,但會刷新該頁面。需要你的幫助!

編輯:這是方法的代碼

public void verificarCorreoServer(Object sender, EventArgs e) 
    { 

     ControladorUsuario cu = new ControladorUsuario();    
     Usuario user = cu.ObtenerUsuario(correo.Value); 
     if (user != null) 
     { 
      //something 
     else 
     {     
      Usuario nuevoUsuario = new Usuario(); 
      nuevoUsuario.nombres = nombre.Value; 
      nuevoUsuario.apellidos = apellido.Value; 
      nuevoUsuario.correo = correo.Value; 
      nuevoUsuario.password = contraseña.Value; 
      nuevoUsuario.rut = rut.Value; 
      nuevoUsuario.carrera = ""; 
      nuevoUsuario.fono = telefono.Value; 
      nuevoUsuario.codigoRol = 1; 
      nuevoUsuario.codigoSede = ddlSede.SelectedIndex+1; 
      nuevoUsuario.estado = "Activo"; 
      cu.InsertarUsuario(nuevoUsuario); 


     } 
    } 

正如我所說的,該方法的工作原理,如果按鈕是在UpdatePanel外面,裏面這是行不通的。

編輯2:我在方法的第一行有一箇中斷點。如果按鈕位於更新面板內,則永遠不會到達。我不知道爲什麼該方法被忽略。

+0

包含方法代碼。由於該按鈕是更新面板中的唯一內容,如果您的方法正在修改除按鈕以外的其他任何內容,則不會像您期望的那樣正常工作。 – Santi

+0

我不認爲方法代碼會影響某些東西。反正我貼了它。 – user3792538

+0

幫我一個忙,嘗試刪除整個''部分,並從更新面板中刪除'childrenAsTriggers'和'UpdateMode'屬性。如果更新面板中的* only *是這個按鈕,則不需要。你只需要在默認的更新面板中包裝按鈕。 – Santi

回答

0

當ChildrenAsTriggers = true時,使用PostbackTrigger代替AsyncPostbackTrigger

+0

不起作用。按鈕不會觸發方法。 – user3792538

+0

嘗試將按鈕放置在面板之外並僅在觸發器上分配控件屬性。 –