Gestione path in applicazioni .NET

sabato 25 novembre 2006 - 01.23

squilibrio Profilo | Expert

Un dubbio, avendo percorsi di questo tipo (senza cmq il "..") nelle mie
pagine HTML generate da .NET

<script src="JS/My.js" type="text/javascript"></script>
<link href="../../App_Themes/AAA/Default.css" type="text/css"
rel="stylesheet" />
<link href="../../App_Themes/AAA/RadDockableObject.css" type="text/css"
rel="stylesheet" /><title>

Posso avere problemi su server Windows 2003? (dato che ho letto in diversi
articoli che ci sono problemi con percorsi virtuali?)



ho provato ad usare il ~ ma ho il sospetto che l'HTML generato sia ancora del tipo ..\file oppure \file

Posto un codice di esempio per rendere meglio l'idea


Pagina Master


<%@ Master Language="C#" CodeFile="Default.master.cs"
Inherits="Default_master" %>
<%@ Register TagPrefix="APP" TagName="Menu"
Src="~/UI/Include/Menu/NavBar.ascx" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">


<title>APP.com</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-15" />

<link href="~/UI/Include/Menu/NavBar/Menu.css" rel="stylesheet"
type="text/css" />

<body>
....



Nella pagina default

<%@ Page Language="C#" MasterPageFile="~/UI/Default.master" Title="APP.com"
CodeFile="Default.aspx.cs" Inherits="Default_aspx" %>
<%@ Register TagPrefix="radDk" Namespace="Telerik.WebControls"
Assembly="RadDock.Net2" %>

<asp:content id="Content1" contentplaceholderid="Main" runat="server">

<radDk:RadDockingManager id="RadDockingManager1" runat="server"
ShowToolTipWhileDragging="False"
SkinsPath="~/App_Themes/"
Skin="APP">
</radDk:RadDockingManager>

...

In una pagina inclusa nella pagina ASP.NET originale (NavBar.ascx)


<%@ Control Language="C#" ClassName="NavBar" %>
<script src="JS/MenuJS.js" type="text/javascript"></script>
<script src="JS/IEupdate.js" type="text/javascript"></script>
<ul id="Navigation-Main">
...

cosi (come indicato sopra) funziona ... se invece metto ~:

<script src="~/UI/JS/MenuJS.js" type="text/javascript"></script>
<script src="~/UI/JS/IEupdate.js" type="text/javascript"></script>

non mi viene visualizzato correttamente il Menu in quanto non viene
recuperato il JS

nel dettaglio l'HTML generato usando ~/ecc... è il seguente

<div class="header">
<div class="header-logo"></div>

<script src="~/UI/JS/MenuJS.js" type="text/javascript"></script>
<script src="~/UI/JS/IEupdate.js" type="text/javascript"></script>
<ul id="Navigation-Main">

e non viene recuperato il file JS




Nella pagina HTML "generale" generata ottengo qualche cosa del tipo:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

...
<link href="../App_Themes/APP/Default.css" type="text/css" rel="stylesheet"
/>
<link href="../App_Themes/APP/RadDockableObject.css" type="text/css"
rel="stylesheet" />
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-15" />
<link href="Include/Menu/NavBar/Menu.css" rel="stylesheet" type="text/css"
/>
<link type="text/css" rel="stylesheet"
href="/APP/App_Themes/APP/RadDockableObject.css" />

...

<body>
<form method="post" action="Default.aspx" onsubmit="javascript:return
WebForm_OnSubmit();" id="aspnetForm">
<div>
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />

</div>

<script type="text/javascript">
<!--
var theForm = document.forms['aspnetForm'];
if (!theForm) {
theForm = document.aspnetForm;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
// -->
</script>



<script
src="/APP/WebResource.axd?d=4DtX1KYO6gW5T3li_SNRjJDyB5MTcaPqBzG1E_FKFoc1&amp;t=632962594670734928"
type="text/javascript"></script>
<script type="text/javascript">
<!--
function WebForm_OnSubmit() {
if (typeof(ValidatorOnSubmit) == "function" && ValidatorOnSubmit() == false)
return false;
return true;
}
// -->
</script>

<div class="header">
<div class="header-logo"></div>

<script src="JS/MenuJS.js" type="text/javascript"></script>
<script src="JS/IEupdate.js" type="text/javascript"></script>
<ul id="Navigation-Main">
....


squilibrio Profilo | Expert

e quindi? come risolvo il mio problema dei percorsi con W2003?
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5