我有这段代码
<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);
}
}
正如我所说的,如果Button位于UpdatePanel之外,该方法可以正常工作,在其内部不起作用。
编辑2:我在方法的第一行有一个中断点。如果Button位于更新面板内,则永远不会到达。我不知道为什么这个方法被忽略了。
答案 0 :(得分:0)
当ChildrenAsTriggers = true时,请使用PostbackTrigger
代替AsyncPostbackTrigger
。