none
LLenar un placeholder sin recargar la pestaña asp.net c# RRS feed

  • Pregunta

  • Hola.

    Estoy haciendo una busqueda de consulta y los datos de resultado de esa busqueda los muestro en una tabla que creo en el codebehind en html y lo muestro en un placeholder, estoy usando un update panel para que cuando haga click en buscar no se recarge la pagina, pero cuando coloco el placeholder dentro del updatepanel los scripts que uso para para esa tabla se pierden. hay manera de evitar que no suceda esto?

    este es mi fuente.

    <%@ Page Title="" Language="C#" MasterPageFile="~/WebSite.Master" AutoEventWireup="true" CodeBehind="Solicitud_BuscarSA.aspx.cs" Inherits="WSLaboratorio.Home" %>
    <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
    
    
    </asp:Content>
    <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
         
    
           
      
    
                         <div class="row bg-title">
                        <div class="col-lg-3 col-md-4 col-sm-4 col-xs-12">
                            <h4 class="page-title">Seis Laboratorio - Buscar Paciente/SA</h4> </div>
                        <!-- /.col-lg-12 -->
                    </div>
    
         <form runat="server">
             <asp:ScriptManager runat="server"></asp:ScriptManager>
                                <div class="white-box">
                             
    
                                     <h3 class="box-title m-b-0">Solicitud de Analisis</h3>
                                <p class="text-muted m-b-30"> Busqueda de visitas</p>
                           
                                    <asp:UpdatePanel runat="server" ChildrenAsTriggers="true" >
                                        <ContentTemplate>
                                    <div class="form-group">
                                        <label for="inputPassword" class="control-label">Proyecto/Local</label>
                                        <div class="row">
                                            <div class="form-group col-sm-6">
                                                <asp:DropDownList runat="server" ID="cboProyecto" CssClass="form-control" AutoPostBack="true" OnSelectedIndexChanged="cboProyecto_SelectedIndexChanged"  ></asp:DropDownList>
                                            </div>
                                            <div class="form-group col-sm-6">
                                               <asp:DropDownList runat="server" ID="cboLocal" CssClass="form-control" AutoPostBack="true" ></asp:DropDownList>
                                            </div>
                                        </div>
                                    </div>
                                 
    
                                      <div class="form-group">
                                        <label for="inputPassword" class="control-label">FechaVisita/F.Inicio-F.Fin</label>
                                        <div class="row">
                                            <div class="form-group col-sm-6">
                                                <asp:TextBox  type="text" class="form-control"  runat="server"  id="txtdateInicio" />  
                                            </div>
                                            <div class="form-group col-sm-6">
                                                <asp:TextBox type="text" class="form-control" runat="server" id="txtdateFin"  />
                                            </div>
                                        </div>
                                    </div>
    
                                            
    
                                        <div class="form-group">
                                        <label for="inputPassword" class="control-label">Doc.Ident./Apellidos/Id.TAM/Id.ENR:</label>
                                        <div class="row">
                                            <div class="form-group col-sm-6">
                                                <asp:TextBox type="text" runat="server"   class="form-control" id="txtparametro" placeholder="Doc.Ident./Apellidos/Id.TAM/Id.ENR" required />  
                                            </div>
    
                                            <div class="form-group col-sm-6">
                                        <%--  <asp:button type="submit" class="btn  btn-success" runat="server" id="btnBuscar" onserverclick="btnBuscar_ServerClick" >Buscar</asp:button>--%>
                                                <asp:Button  class="btn  btn-success" runat="server" id="btnBuscarDatos" OnClick="btnBuscarDatos_Click" Text="Buscar" />
                                            </div>
                                        </div>
                                    </div>
                                                                                <div runat="server" visible="false" id="divTable" style="">
                                    <asp:PlaceHolder runat="server" id="placeholderTableVisitas" Visible="true"></asp:PlaceHolder>
                                </div>
                                          
                                                     </ContentTemplate>
                                        <Triggers>
                                            <asp:AsyncPostBackTrigger  ControlID="btnBuscarDatos" EventName="Click"  />
    
                                        </Triggers>
                                    </asp:UpdatePanel>
    
                                   
    
    
                            </div>
    
    
    
    
        </form>
        
        
    
    </asp:Content>

     y este es el resultado:

    

    y cuando si hace el postback si jala los scripts y la tabla se muestra asi:

    la libreria que uso para la tabla es el footable, creo que puede haber confilcto con el scriptmanager.

    lunes, 12 de junio de 2017 4:00

Respuestas

  • hola

    >>estoy usando un update panel para que cuando haga click en buscar no se recarge la pagina, pero cuando coloco el placeholder dentro del updatepanel los scripts que uso para para esa tabla se pierden

    si usas el developer tool del browser (al cual accedes con F12) puedes validar que los style y js se cargan correctamente? usa la solapa network y console para validarlo

    la verdad es que librerias basadas en javascript y controles de asp.net no se llevan muy bien

    no evalauste usar ajax con jquery para asi consultar el servidor sin que se actualice el cliente, creo que es un mejor camino al updatepanel

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 12 de junio de 2017 14:58
  • en realidad no cargas un placeholder sino un div

    asi seria lo basico

    Call ASP.Net Page Method using jQuery AJAX Example

    asi seria algo mas avanzado

    jQuery AJAX with Page Method example in ASP.NET

    en donde trabajas con el json que recibes con los datos para generar el html

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 12 de junio de 2017 18:57

Todas las respuestas

  • hola

    >>estoy usando un update panel para que cuando haga click en buscar no se recarge la pagina, pero cuando coloco el placeholder dentro del updatepanel los scripts que uso para para esa tabla se pierden

    si usas el developer tool del browser (al cual accedes con F12) puedes validar que los style y js se cargan correctamente? usa la solapa network y console para validarlo

    la verdad es que librerias basadas en javascript y controles de asp.net no se llevan muy bien

    no evalauste usar ajax con jquery para asi consultar el servidor sin que se actualice el cliente, creo que es un mejor camino al updatepanel

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 12 de junio de 2017 14:58
  • >>no evalauste usar ajax con jquery para asi consultar el servidor sin que se actualice el cliente, creo que es un mejor camino al updatepanel

     <asp:PlaceHolder runat="server" id="placeholderTableVisitas" Visible="true"></asp:PlaceHolder>

    como podria hacer con jquey y ajax para consultar el servidor y llenar el placeholder sin que el cliente se actualice ? tendria que usar un webservice ?

    lunes, 12 de junio de 2017 18:26
  • en realidad no cargas un placeholder sino un div

    asi seria lo basico

    Call ASP.Net Page Method using jQuery AJAX Example

    asi seria algo mas avanzado

    jQuery AJAX with Page Method example in ASP.NET

    en donde trabajas con el json que recibes con los datos para generar el html

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 12 de junio de 2017 18:57