2016-12-06 29 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

尝试将按钮放置在面板之外并仅在触发器上分配控件属性。 –