none
VALIDACION EN POPUP - URGENTE RRS feed

  • Pregunta

  • Buenas tardes, 

    Necesito saber como hace para generar una mensaje de validación con un validation summary o javascript para generar mensaje de validación dentro de un popup ya que cuando intento validar con un validation summary me cierra el popup y me muestra el mensaje. Necesito que me muestre le mensaje pero no me cierre el popup. Es urgente, necesito ayuda.

    Adjunto código HTML y C#

                <%-- POPUP de Asignar Trámites--%>
                <cc1:ModalPopupExtender ID="popupAsigTram" runat="server" PopupControlID="plAsigTramite" TargetControlID="HiddenField"
                    CancelControlID="btnCancelar" BackgroundCssClass="Background">
                </cc1:ModalPopupExtender>
                <asp:Panel ID="plAsigTramite" runat="server" CssClass="Popup" align="center" Style="display: none" Width="500px">
                    <br />
                    <br />
                    <table>
                        <tr>
                            <td>
                                <asp:Label ID="lbNTramite" runat="server" Text="Número Trámite:"></asp:Label>
                            </td>
                            <td>
                                <asp:Label ID="lbSETNTramite" runat="server"></asp:Label>
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <asp:Label ID="lbTTramite" runat="server" Text="Tipo Trámite:"></asp:Label>
                            </td>
                            <td>
                                <asp:Label ID="lbSETTTramite" runat="server"></asp:Label>
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <asp:Label ID="lbSolicitante" runat="server" Text="Solicitante:"></asp:Label>
                            </td>
                            <td>
                                <asp:Label ID="lbSETSolicitante" runat="server"></asp:Label>
                            </td>
                        </tr>
                    </table>
                    <br />
                    <dx:ASPxGridView ID="grvListaTecnico" runat="server" AutoGenerateColumns="False" KeyFieldName="id_Usuario">
                        <Settings ShowFilterRow="True" />
                        <Columns>
                            <dx:GridViewCommandColumn SelectAllCheckboxMode="Page" ShowClearFilterButton="false" ShowSelectCheckbox="true" VisibleIndex="0">
                            </dx:GridViewCommandColumn>
                            <dx:GridViewDataTextColumn FieldName="nombre_completo" Caption="Nombre del técnico" ReadOnly="True" VisibleIndex="0">
                            </dx:GridViewDataTextColumn>
                            <dx:GridViewDataTextColumn FieldName="id_Usuario" Visible="false" ReadOnly="True" VisibleIndex="0">
                            </dx:GridViewDataTextColumn>
                        </Columns>
                    </dx:ASPxGridView>
                    <br />
                    <asp:Button ID="btnPopUpAsignar" runat="server" CssClass="agregar" Text="Asignar" OnClick="btnPopUpAsignar_Click" />
                    <asp:Button ID="btnCancelar" runat="server" CssClass="cancelar" Text="Cancelar" />
                     <asp:Button ID="Button1" runat="server" CssClass="agregar" Text="Asignar" OnClientClick="error();"   />
                    <asp:HiddenField ID="HiddenField" runat="server" />
                </asp:Panel>
            protected void btnPopUpAsignar_Click(object sender, EventArgs e)
            {
    
                if (grvTramiAsig.GetSelectedFieldValues("ID_Tramite").Count != 0)
                {
                    List<Object> tecnicos = grvListaTecnico.GetSelectedFieldValues(new string[] { "id_Usuario" });
                    if (tecnicos.Count > 0)
                    {
                        List<string> listIdTecnicos = new List<string>();
                        foreach (String tecn in tecnicos)
                        {
                            listIdTecnicos.Add(tecn);
                        }
    
                        if (tramitesBLL.asignarTramite(Convert.ToInt32((String)Session["IDTramite"]), listIdTecnicos) && listIdTecnicos.Count != 0)
                        {
                            Util.agregarMensajeSatisfaccion(this, "MensajeSatisfaccionAccionEl", "Trámite", "Asignado");
                        }
                        else if (listIdTecnicos.Count == 0)
                        {
    
                        }
                        else
                        {
                            Util.agregarMensajeError(this, "MensajeTramiteError", "Asignar", "Trámite");
                            popupAsigTram.Show();
                        }
                    }
                    else {
                        Util.agregarMensajeNotificacion(this, "MensajeValidacionSeleccionUn", "Técnico", "Asignar el trámite");
                        popupAsigTram.Show();
                    
                    }
    
                }
                else
                {
                    Util.agregarMensajeNotificacion(this, "MensajeValidacionSeleccionUn", "Trámite", "Cambiar el Tipo");
                    popupAsigTram.Show();
                }
            }



    Jorge David Quesada Arias

    lunes, 23 de noviembre de 2015 22:49

Respuestas

Todas las respuestas

  • hola

    para que no cierre el popup deberias usar el UpdatePanel

    de esta forma puedes lanzar un post a un evento de un control de una seccion de la pagina sin que se cierre el popup

    por supuesto el popup estar adentro del template del UpdatePanel

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 23 de noviembre de 2015 22:52
  • Lo extraño es que está dentro de un updatePanel, te adjunto todo el código de la página.

    <%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="frmTramitesAsignados.aspx.cs" Inherits="Proyecto_SMC.WebForms.Modulo_Tramites.ProcesosTramites.frmTramitesAsignados" %>
    
    <%@ Register Assembly="DevExpress.Web.v15.1, Version=15.1.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web" TagPrefix="dx" %>
    <%@ Register Assembly="DevExpress.Web.v15.1, Version=15.1.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Data.Linq" TagPrefix="dx" %>
    <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
    <%@ Register Src="~/WebForms/Base/ControlesGenericos/Mensajes.ascx" TagPrefix="uc1" TagName="Mensajes" %>
    
    <asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
    
        <script type="text/javascript" src="../../../Scripts/alertify/lib/alertify.js"></script>
        <link rel="stylesheet" href="../../../Scripts/alertify/themes/alertify.core.css" />
        <link rel="stylesheet" href="../../../Scripts/alertify/themes/alertify.default.css" />
    
        <script>
            function error() {
                alertify.error("Usuario o constraseña incorrecto/a.");
                return false;
            }
        </script>
        <asp:UpdatePanel runat="server">
            <ContentTemplate>
                <uc1:Mensajes runat="server" ID="Mensajes" />
    
                <asp:Label ID="lbTitulo" runat="server" Font-Size="Larger" Text="Trámites Asignados"></asp:Label>
                <dx:ASPxGridView ID="grvTramiAsig" runat="server" OnDataBinding="grvTramiAsig_DataBinding" OnSelectionChanged="dgvTramiAsig_SelectionChanged" AutoGenerateColumns="False" KeyFieldName="ID_Tramite">
                    <Settings ShowFilterRow="True" ShowFilterRowMenu="True" />
                    <SettingsBehavior AllowSelectByRowClick="True" AllowSelectSingleRowOnly="True" ProcessSelectionChangedOnServer="True" />
                    <Columns>
                        <dx:GridViewDataTextColumn FieldName="nombre_Solicitante" ReadOnly="True" VisibleIndex="2" Caption="Nombre Solicitante">
                        </dx:GridViewDataTextColumn>
                        <dx:GridViewDataTextColumn FieldName="num_tramite" ReadOnly="True" VisibleIndex="1" Caption="Número Trámite">
                        </dx:GridViewDataTextColumn>
                        <dx:GridViewDataDateColumn FieldName="Fec_Creacion" VisibleIndex="4" Caption="Fecha Creación">
                        </dx:GridViewDataDateColumn>
                        <dx:GridViewDataTextColumn FieldName="tipo_tramite_Nombre" ReadOnly="True" VisibleIndex="3" Caption="Tipo Trámite">
                        </dx:GridViewDataTextColumn>
                        <dx:GridViewDataTextColumn FieldName="ID_Tramite" ReadOnly="True" Visible="false" VisibleIndex="5" Caption="">
                        </dx:GridViewDataTextColumn>
                        <dx:GridViewDataTextColumn FieldName="cantDiasTranscurridos" ReadOnly="True" VisibleIndex="6" Caption="Días en Trámite">
                        </dx:GridViewDataTextColumn>
                        <dx:GridViewDataTextColumn FieldName="ID_Tipo_Tramite" ReadOnly="True" Visible="false" VisibleIndex="7" Caption="">
                        </dx:GridViewDataTextColumn>
                    </Columns>
                </dx:ASPxGridView>
    
                <asp:Button ID="btnAsigTramite" CssClass="asignar" runat="server" Text="Asignar" OnClick="btnAsigTramite_Click" />
                <asp:Button ID="btnCambTramite" CssClass="cambiar" runat="server" Text="Cambiar Tipo" OnClick="btnCambTramite_Click" Width="155px" />
                <asp:Button ID="btnRealizarTramite" CssClass="ingresar" runat="server" Text="Ingresar" OnClick="btnRealizarTramite_Click" Width="110px" />
    
    
                <%-- POPUP de Asignar Trámites--%>
                <cc1:ModalPopupExtender ID="popupAsigTram" runat="server" PopupControlID="plAsigTramite" TargetControlID="HiddenField"
                    CancelControlID="btnCancelar" BackgroundCssClass="Background">
                </cc1:ModalPopupExtender>
                <asp:Panel ID="plAsigTramite" runat="server" CssClass="Popup" align="center" Style="display: none" Width="500px">
                    <br />
                    <br />
                    <table>
                        <tr>
                            <td>
                                <asp:Label ID="lbNTramite" runat="server" Text="Número Trámite:"></asp:Label>
                            </td>
                            <td>
                                <asp:Label ID="lbSETNTramite" runat="server"></asp:Label>
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <asp:Label ID="lbTTramite" runat="server" Text="Tipo Trámite:"></asp:Label>
                            </td>
                            <td>
                                <asp:Label ID="lbSETTTramite" runat="server"></asp:Label>
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <asp:Label ID="lbSolicitante" runat="server" Text="Solicitante:"></asp:Label>
                            </td>
                            <td>
                                <asp:Label ID="lbSETSolicitante" runat="server"></asp:Label>
                            </td>
                        </tr>
                    </table>
                    <br />
                    <dx:ASPxGridView ID="grvListaTecnico" runat="server" AutoGenerateColumns="False" KeyFieldName="id_Usuario">
                        <Settings ShowFilterRow="True" />
                        <Columns>
                            <dx:GridViewCommandColumn SelectAllCheckboxMode="Page" ShowClearFilterButton="false" ShowSelectCheckbox="true" VisibleIndex="0">
                            </dx:GridViewCommandColumn>
                            <dx:GridViewDataTextColumn FieldName="nombre_completo" Caption="Nombre del técnico" ReadOnly="True" VisibleIndex="0">
                            </dx:GridViewDataTextColumn>
                            <dx:GridViewDataTextColumn FieldName="id_Usuario" Visible="false" ReadOnly="True" VisibleIndex="0">
                            </dx:GridViewDataTextColumn>
                        </Columns>
                    </dx:ASPxGridView>
                    <br />
                    <asp:Button ID="btnPopUpAsignar" runat="server" CssClass="agregar" Text="Asignar" OnClick="btnPopUpAsignar_Click" />
                    <asp:Button ID="btnCancelar" runat="server" CssClass="cancelar" Text="Cancelar" />
                     <asp:Button ID="Button1" runat="server" CssClass="agregar"  Text="Asignar" OnClientClick="error(); return false;"   />
                    <asp:HiddenField ID="HiddenField" runat="server" />
                </asp:Panel>
    
                <%-- POPUP de Cambiar Trámites--%>
                <cc1:ModalPopupExtender ID="popupCambTram" runat="server" PopupControlID="plCambTramite" TargetControlID="HiddenFieldCambTram"
                    CancelControlID="btnCancelarCambTram" BackgroundCssClass="Background">
                </cc1:ModalPopupExtender>
                <asp:Panel ID="plCambTramite" runat="server" CssClass="Popup" align="center" Style="display: none">
                    <br />
                    <br />
                    <table>
                        <tr>
                            <td>
                                <asp:Label ID="lbCambNTramite" runat="server" Text="Número Trámite:"></asp:Label>
                            </td>
                            <td>
                                <asp:Label ID="tbSetCambNTramite" runat="server" Text=""></asp:Label>
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <asp:Label ID="lbCambTTramite" runat="server" Text="Tipo Trámite:"></asp:Label>
                            </td>
                            <td>
                                <asp:Label ID="tbSetCambTTramite" runat="server" Text=""></asp:Label>
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <asp:Label ID="lbCambSolicitante" runat="server" Text="Solicitante:"></asp:Label>
                            </td>
                            <td>
                                <asp:Label ID="tbSetCambSolicitante" runat="server" Text=""></asp:Label>
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <asp:Label ID="lbTipoTram" runat="server" Text="Tipo de Trámite:"></asp:Label>
                            </td>
                            <td>
                                <asp:DropDownList ID="cbTipoTram" CssClass="inputText" Width="193px" runat="server" DataTextField="Nombre" DataValueField="ID_Tipo_Tramite"></asp:DropDownList>
                            </td>
                        </tr>
                    </table>
                    <br />
                    <asp:Button ID="btnPopUpGuardar" runat="server" CssClass="guardar" Text="Guardar" Width="120px" OnClick="btnPopUpGuardar_Click" />
                    <asp:Button ID="btnCancelarCambTram"  runat="server" CssClass="cancelar" Text="Cancelar" Width="120px" />
                   
                    <asp:HiddenField ID="HiddenFieldCambTram" runat="server" />
                </asp:Panel>
                <!--termina pop up-->
    
                 
            </ContentTemplate>
        </asp:UpdatePanel>
    </asp:Content>
    


    Jorge David Quesada Arias

    lunes, 23 de noviembre de 2015 23:01
  • hola

    pero el updatepanel deberia estar abarcando el contenido del popup y no el popup en si mismo

    el updatepanel deberia estar dentro del Panel que defines para el popup

    [ASP.NET] PopUp Filtro – Usando Ajax Toolkit ModalpopupExtender

    analiza el ejemplo del articulo

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 24 de noviembre de 2015 10:58