Problemi con Gridview

venerdì 16 gennaio 2009 - 15.30

calloway Profilo | Newbie

Salve a tutti
E' possibile in una Griview in una Hiperlinkcolumn impostare:

DataNavigateUrlFormatString="~/public/utente/dir/{0}"

dove ~/public/utente/dir/ sia una variabile stringa per poter avere diverse directory.

Se si come si scrive che ho provato e non ci riesco

Grazie

balfaz Profilo | Expert

inserisce una colonna itemTemplate dentro un controllo hyperlink + o - cosi:
<asp:hyperlink runat="server" id="HL" NavigateUrl = '<%# "~\public\dir\" + eval("'nome_campo") %>' />
cosi al volo comunque siamo sempre qua.


"Che in questo 2009 i nostri codici possano sconvolgere il mondo."

calloway Profilo | Newbie

Ho già provato ma mi da un errore nel parser del tipo

"Il contenuto in formato letterale non è consentito in un 'System.Web.UI.WebControls.DataGridColumnCollection'"

In pratica io ho usato un gridview per displayare i file di una directory utente, e fin li funziona tutto. A seconda del Role utente si va sulla propria directory e si displyano i file con le caratteristiche (nomefile, File name, datacreated, File size). Cliccando sul nome file si dovrebbe aprire oppure con tasto destro fare il download. Ma questo non avviente perchè la directory in cui va a cercare il file rimane quella statica indicata nel DataNavigateUrlFormat String.
Mi sembra strano che non sia possibile impostare dinamicamente in questo parametro la path.

comunque grazie della risposta

balfaz Profilo | Expert

prova sempre dentro una colonna itemtemplate a inserire una controllo <asp:literal runat="server" id="litLnk" text=""/>
dopo nell'evento rowdatabound del GrVw fai questa operazione

dim lit as literal = ctype(e.row(nro_cell).findcontrol("litLnk"), literal)
lit.text = "<a href='public/utente/dir/" & Convert.ToString(DataBinder.Eval(e.Row.DataItem, "nome_campo")) & "'>Clicca QUI </a>"

questa dovrebbe funzionare. Facci sapere
"Che in questo 2009 i nostri codici possano sconvolgere il mondo."

calloway Profilo | Newbie

mi da questo:

System.Web.UI.WebControls.DataGridColumnCollection può avere solo elementi di tipo 'System.Web.UI.WebControls.DataGridColumn'. 'asp:literal' è di tipo 'System.Web.UI.WebControls.Literal'.

balfaz Profilo | Expert

puoi pastare un po di codica markup e behind....grazie!!!, vediamo un po
"Che in questo 2009 i nostri codici possano sconvolgere il mondo."
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5