J'ai une application ASP.NET initialement déployée sur un Framework .Net 1.1 sur un serveur Windows 2000 que j'utilise maintenant sur un serveur Windows 2008 en utilisant 2.0.50727. Nous utilisons le tilde (~) pour résoudre un chemin absolu dans de nombreuses zones de l'application et cela fonctionne pour des choses comme asp: contrôles de lien hypertexte (avec des balises serveur exécutables), mais pour nos contrôles DataGrid liés qui utilisent HyperLinkColumns pour créer liens basés sur les valeurs d'ID retournés à partir de notre base de données, le tilde est écrit sur la page.Tilde ne résout pas dans HyperLinkColumn dans ASP.NET 2.0
Ce code:
HyperLinkColumn oLink = new HyperLinkColumn();
oLink.DataNavigateUrlField = "IdField";
oLink.DataNavigateUrlFormatString = "~/Here{0}.aspx";
dumping ce à la page:
<a href="~/Here171201.aspx">
Ce qui a changé entre les versions de IIS Framework ou .NET pourrait être à l'origine cette fonctionnalité ne fonctionne plus? Le Tilde résolvait définitivement en 1.1 - J'ai exactement le même code déployé sur une douzaine de serveurs Framework 1.1 dans notre organisation. Malheureusement, la classe qui définit DataNavigateUrlFormatString n'a pas accès à la page, donc je vais devoir faire un peu de kludging pour insérer le travail de Page.ResolveUrl ...
Qu'est-ce que la volonté tilde dans Windows? Je ne l'ai pas vraiment utilisé depuis des années sur Unix quand il se référait au répertoire personnel de l'utilisateur. – ahockley
dans asp.net il devrait se résoudre au chemin absolu où le répertoire virtuel ou l'application est installé - de cette façon le développeur n'a pas besoin de savoir s'il va installer l'application comme: http: // Server/App ou http: // Serveur/Site –