Scenario: in un nostro sito abbiamo un usercontrol che inserisce o imposta determinate immagini o link all'interno della pagina. Questo user control lo utilizziamo all'interno delle pagine del medesimo sito, ma è evidente che, nel caso includessimo tale usercontrol all'interno di una pagina in una sottodirectory, sia le immagini che i link punterebbero a url inesistenti.
Ipotizziamo di avere un sito con questa struttura:
root
-> Directory Images
-> Directory Information
altrapagina.aspx
default.aspx
titolo.ascx
La pagina default.aspx include l'user-control titolo.ascx. All'interno di esso il semplice codice:
<img src="images/titolo.gif" />
<a href="altrapagina.aspx">Altra pagina</a>
Inserita nella pagina principale l'immagine sarà visualizzata in modo corretto e il link punterà alla pagina corretta, ma se includessimo tale user-control in una pagina Asp.Net all'interno della directory Information, il client cercherebbe l'immagine e i link nella cartella:
information/images/titolo.gif
information/altrapagina.aspx
che ovviamente non esistono. Per risolvere utilizziamo, come già detto, la funzione static RersolveUrl. Vediamo come. L'user-control lo possiamo modificare in questo modo:
<script runat="server" language="c#">
void Page_Load()
{
string immagine=ResolveUrl("images/titolo.gif");
string link=ResolveUrl("altrapagina.aspx");
titolo.Src=immagine;
link.HRef=link;
}
</script>
<img id="titolo" runat="server" />
<a id="link" runat="server">Altra pagina</a>
Per risolvere il problema in maniera più semplice e elegante, possiamo utilizzare direttamente i webcontrol che calcoleranno per noi il giusto url:
<asp:image imageurl="images/titolo.gif" id="immagine" runat="server" />
<asp:hyperlink navigateurl="altrapagina.aspx" id="link" runat="server">Altra pagina</a>
Comodo, non è vero?
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
- C# e Net 6 in Kubernetes con Prometheus e Grafana, il 12 gennaio 2022 alle 21:58
- Snaturare Kubernetes evitando i custom container Docker, il 6 gennaio 2022 alle 19:40
- Provando Kaniko in Kubernetes come alternativa a Docker per la creazione di immagini, il 18 dicembre 2021 alle 20:11
- Divertissement con l'OpenID e Access Token, il 6 dicembre 2021 alle 20:05
- Operator per Kubernetes in C# e Net Core 6., il 28 novembre 2021 alle 19:44
- RBAC in Kubernetes verso gli operator, il 21 novembre 2021 alle 20:52