2016-12-06 4 views
0

У меня есть этот кодКнопка внутри UpdatePanel не срабатывает методе

<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, кнопка запускает метод, но обновляет страницу. Нужна ваша помощь, пожалуйста!

Edit: это код метода

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' с панели обновления. Если это * только * вещь на панели обновления, эта кнопка не нужна. Вам просто нужна кнопка, завернутая в панель обновления по умолчанию. – Santi

ответ

0

Используйте PostbackTrigger вместо AsyncPostbackTrigger, когда ChildrenAsTriggers = true.

+0

Не работает. Кнопка не запускает метод. – user3792538

+0

Попробуйте поместить вашу кнопку за пределы панели и назначить атрибут управления только на триггере. –