У меня есть приложение ASP.NET, первоначально развернутое на .Net 1.1 Framework на сервере Windows 2000, которое теперь я использую на сервере Windows 2008 Server с использованием 2.0.50727. Мы используем тильду (~), чтобы разрешить абсолютный путь во многих областях приложения, и она работает для таких вещей, как asp: элементы управления гиперссылкой (с тегами на рабочем столе), но для наших связанных элементов управления datagrid, которые используют HyperLinkColumns для создания ссылки на основе значений идентификатора, возвращаемых из нашей базы данных, тильда записывается на страницу.Tilde не разрешается в HyperLinkColumn в ASP.NET 2.0
Этот код:
HyperLinkColumn oLink = new HyperLinkColumn();
oLink.DataNavigateUrlField = "IdField";
oLink.DataNavigateUrlFormatString = "~/Here{0}.aspx";
демпинг это на странице:
<a href="~/Here171201.aspx">
Что изменилось между версиями IIS или .NET Framework может быть причиной этого функциональность больше не работает? Тильда определенно решалась в 1.1 - у меня есть тот же самый код, который был развернут на дюжине серверов 1.1 Framework в нашей организации. К сожалению, класс, который устанавливает DataNavigateUrlFormatString, не имеет доступа к странице, поэтому мне нужно будет немного клонирования, чтобы вставить работу Page.ResolveUrl ...
Что тильды решимость в Windows? Я не использовал его много лет назад в unix, когда ссылался на домашний каталог пользователя. – ahockley
в asp.net он должен разрешить абсолютный путь, где установлен виртуальный каталог или приложение - таким образом разработчику не нужно знать, будут ли они устанавливать приложение как: http: // Server/App или http: // Сервер/сайт –