Эта строка решила мою проблему:
<%#DateTime.Parse(Eval("DDDate").ToString()).ToString("dd-MM-yyyy")%>
Часть пути, содержащая имя домена, на самом деле не является свойством самого приложения, а зависит от запрашивающего URL. Вы можете получить доступ к одному веб-сайту с разных имен хостов. Чтобы получить имя домена, связанное с текущим запросом , вместе с виртуальным путем текущего приложения, вы можете сделать:
Request.Url.GetLeftPart(UriPartial.Authority) + Request.ApplicationPath
Технически «приложение» - это виртуальный каталог, определенный в IIS и ] Request.ApplicationPath
возвращает именно это. Если вы хотите получить папку, в которой обрабатывается текущий запрос , вы можете сделать это:
VirtualPathUtility.GetDirectory(Request.Path)
ASP.NET не знает, как отличить ваше подчиненное приложение от более крупного приложения, если оно не определено как виртуальный каталог в IIS. Без регистрации в IIS,
Попробуйте это (не пробовал)
public string GetVirtualPath(string physicalPath)
{
string rootpath = Server.MapPath("~/");
physicalPath = physicalPath.Replace(rootpath, "");
physicalPath = physicalPath.Replace("\\", "/");
return "~/" + physicalPath;
}
Request.Url
он содержит несколько моментов, которые вы можете использовать, см. Изображение ниже:
Приведенный ниже код решит эту задачу, однако вам необходимо выполнить небольшую настройку для двух типов сценариев:
Размещено как виртуальное приложение в рамках веб-приложение.
HttpContext.Current.Request.Url.GetLeftPart (UriPartial.Authority) + HttpRuntime.AppDomainAppVirtualPath;