none
Problema con LinkButton RRS feed

  • Pregunta

  • Estimados tengo un gridview el cual se llena los datos de mi tabla
    en uno de esas columnas del gridview he puesto la direccion de los archivos pdf que estan en mi proyecto de la siguiente manera

    en mi proyecto he creado una carpeta con nombre "arch" y dentro de este se encuentran los pdf
    en mi sql esta asi:
    usuario clave rol archivo
    juan   123      1    /arch/pdfadmin1.pdf
    luis     qqq       3    /arch/pdfempleado1.pdf

    entonces dependiendo del usuario este me muestra los pdf
    en el gridview me muestra el texto es decir en la columna "ruta" me muestra la ruta pero como texto, traté de usar el hyperlink pero no me ha funcionado, aca dejo mi ejemplo:

            <asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="false">
                <Columns>
                    <asp:BoundField DataField="nombre" HeaderText="u.nombre" />
                    <asp:HyperLinkField DataTextField="arch_nombre" HeaderText="LinkDescarga" NavigateUrl="archivo" />
                </Columns>
            </asp:GridView>

    como vemos en el hyperlink le mando en el navigateurl: el nombre del campo de la tabla como vi en otros ejemplos pero no me muestra el pdf me sale un error: 

    HTTP Error 404.0 - Not Found

    Detailed Error Information:

    Module    IIS Web Core
    Notification    MapRequestHandler
    Handler    StaticFile
    Error Code    0x80070002
    Requested URL    http://localhost:58099/arch/arch_descripcion
    Physical Path    C:\Users\Asistente TI\Desktop\Final FW 4\SolucionGeneral\CapaPresentacion\arch\arch_descripcion
    Logon Method    Anónimo
    Logon User    Anónimo
    Directorio de seguimiento de solicitudes    C:\Users\Asistente TI\Docume


    Del Castillo Victor Andres - Lima Peru

    jueves, 27 de abril de 2017 16:40

Respuestas

  • Hola VikDelCastillo

    esto es correcto? C:\Users\Asistente TI\Desktop\Final FW 4\SolucionGeneral\CapaPresentacion\arch\ arch_descripcion
    es ahí en donde debes verificar, te lo está tomando como un fichero.

    El erro not found, es que no encuentra el archivo o el fichero, corrobora con un debug que le estás mandando la ruta correcta y si existe el pdf que indicas.

    Saludos


    Si ayudé a resolver tu consulta, no olvides marcar como respuesta y/o votar como útil.

    • Marcado como respuesta VikDelCastillo jueves, 27 de abril de 2017 17:37
    jueves, 27 de abril de 2017 16:54
  • si revisas la documentacion

    HyperLinkField.DataTextField

    veras que debes usar el

    <asp:hyperlinkfield datatextfield="CompanyName"
                datanavigateurlfields="HomePage"          
                headertext="Company Name"
                target="_blank" />

    para indicar de cual campo obtiene la url que debe usar el el link

    no defines el NavigationUrl como lo haces en tu caso

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta VikDelCastillo jueves, 27 de abril de 2017 22:17
    jueves, 27 de abril de 2017 18:23

Todas las respuestas

  • Hola VikDelCastillo

    esto es correcto? C:\Users\Asistente TI\Desktop\Final FW 4\SolucionGeneral\CapaPresentacion\arch\ arch_descripcion
    es ahí en donde debes verificar, te lo está tomando como un fichero.

    El erro not found, es que no encuentra el archivo o el fichero, corrobora con un debug que le estás mandando la ruta correcta y si existe el pdf que indicas.

    Saludos


    Si ayudé a resolver tu consulta, no olvides marcar como respuesta y/o votar como útil.

    • Marcado como respuesta VikDelCastillo jueves, 27 de abril de 2017 17:37
    jueves, 27 de abril de 2017 16:54
  • acabo de revisar y esa direccion
    C:\Users\Asistente TI\Desktop\Final FW 4\SolucionGeneral\CapaPresentacion\arch\arch_descripcion
    solo deberia ser hasta
    C:\Users\Asistente TI\Desktop\Final FW 4\SolucionGeneral\CapaPresentacion\arch\  (no sé si con / o sin /)  (aca va todos mis pdfs

    lo del debug no sé como hacerlo :(


    Del Castillo Victor Andres - Lima Peru

    jueves, 27 de abril de 2017 17:01
  • entonces es correcto, lo último te esta dando problemas, es con "\".

    Por otro lado para hacer debug, coloca un punto de interrupción con f9 o click en la línea de código al lado izquierdo y una vez que ejecutas el proyecto, dicha línea pintará de amarillo una vez ahí presiona F11 para ir paso a paso (step by step) con ello podrás ver si le estás mandando los valores apropiados.

    Saludos


    Si ayudé a resolver tu consulta, no olvides marcar como respuesta y/o votar como útil.

    jueves, 27 de abril de 2017 17:06
  • pero mira mi gridview me muestra en mi pagina los datos correctos 
    el tema que la ruta me la muestra como texto y yo quiero pasarlo a link

    gridview
    nombre      nivel      link
    juan           admin      /arch/pdfempleado1.pdf

    Ahora yo creé en un proyecto una carpeta llamada arch y dentro tengo los pdf
    en mi base de datos los guardo así
    /arch/pdfempleado1.pdf  
    esta bien la direccion? y si esta bien como hago eso para ponerlo como link? 
    porque la data esta pasando ok no tengo problemas con eso, solo que quiero pasarlo a link para que puedan verlo o abrirlo en otra pagina.


    Del Castillo Victor Andres - Lima Peru

    jueves, 27 de abril de 2017 17:11
  • modifique el huperlinkfield
    <asp:HyperLinkField DataTextField="arch_nombre" NavigateUrl="arch/arch_descripcion" HeaderText="LinkDescarga" />

    me sale el mismo error pero ya me bota la direccion correcta, el problema es que el ultimo campo "arch_descripcion" deberia ser el nombre del pdf pero yo no puedo enviarle el nombre del pdf sino el campo para que tome el pdf segun el rol

    C:\Users\Asistente TI\Desktop\Final FW 4\SolucionGeneral\CapaPresentacion\arch\arch_descripcion


    Del Castillo Victor Andres - Lima Peru

    jueves, 27 de abril de 2017 17:15
  • Lo solucioné de la siguiente manera:
    en el formulario agrege un hyperlink y en el codigo le puse

    string uo = row.Cells[4].Text; (esto sale de un recorrido a mi gridview y que en la columna 4 se encuentra el nombre del archivo que necesitaba)
    HyperLink1.NavigateUrl = "arch/"+uo;
    Eso es todo gracias.


    Del Castillo Victor Andres - Lima Peru

    jueves, 27 de abril de 2017 17:37
  • No olvides siempre utilizar el debug, así es más fácil de que puedas visualizar tu error

    Saludos!


    Si ayudé a resolver tu consulta, no olvides marcar como respuesta y/o votar como útil.

    jueves, 27 de abril de 2017 18:02
  • si revisas la documentacion

    HyperLinkField.DataTextField

    veras que debes usar el

    <asp:hyperlinkfield datatextfield="CompanyName"
                datanavigateurlfields="HomePage"          
                headertext="Company Name"
                target="_blank" />

    para indicar de cual campo obtiene la url que debe usar el el link

    no defines el NavigationUrl como lo haces en tu caso

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta VikDelCastillo jueves, 27 de abril de 2017 22:17
    jueves, 27 de abril de 2017 18:23
  • Buenas Leandro, ya he intentado ese código con anterioridad y el problema es la ruta path:

      C:\Users\AsistenteTI\Desktop\FinalFW4\SolucionGeneral\CapaPresentacion\pdfadm1.pdf

    Despues de \CapaPresentacion\ debería ir "arch\" y recien el nombre del pdf, pero no he encontrado la manera de agregarle el arch como si pude hacerlo con hiperlink, si tienes la respuesta a mi duda agradeceré mucho, saludos.




    Del Castillo Victor Andres - Lima Peru

    jueves, 27 de abril de 2017 20:20
  • El error es esta excepción cuando he tratado de agregarle al campo datanavigateurl="arch\arch_descripcion"
    Información adicional: No se encontró ningún campo o propiedad 'arch\arch_descripcion' en el origen de datos seleccionado.

    y obvio porque ese campo no existe, solo existe el arch_descripcion pero yo trate de agregarle el arch para que complete la ruta, desconozco otra manera de poner modificar esa ruta, alguna información estaré agradecido


    Del Castillo Victor Andres - Lima Peru

    jueves, 27 de abril de 2017 20:24