powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / ResolveClientUrl
2 сообщений из 2, страница 1 из 1
ResolveClientUrl
    #33898592
Ahasfer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для тех, кто "ковырял" исходники....

Везде в веб-контролах для преобразования урлов используется ResolveClientUrl(relativeUrl) - интерная функция.
1. Почему она интернальная? Мне, для моих контролов ох как нужна! Есть ли смысл переписывать!
2. А может она есть в публичном исполнения, да я ее не нашел? (ResolveUrl не предлагать: она не рассматривает все случаи релативного урла)


Кто знаком в ие-контролами: каким образом организована прокрутка для PageView и TreeView: так и не нашел я ничего в htc-файлах!!!!
...
Рейтинг: 0 / 0
ResolveClientUrl
    #33898638
gaidar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот код двух методов, вы посмотрите все входщие в них методы и скажите, когда ResolveUrl вернет неверный путь, а ResolveClientUrl верный. Пример, пожалуйста!
public string ResolveClientUrl(string relativeUrl)
{
      if ((this.DesignMode && (this.Page != null)) && (this.Page.Site != null))
      {
            IUrlResolutionService service1 = (IUrlResolutionService) this.Page.Site.GetService(typeof(IUrlResolutionService));
            if (service1 != null)
            {
                  return service1.ResolveClientUrl(relativeUrl);
            }
      }
      if (relativeUrl == null)
      {
            throw new ArgumentNullException("relativeUrl");
      }
      string text1 = VirtualPath.GetVirtualPathString(this.TemplateControlVirtualDirectory);
      if (string.IsNullOrEmpty(text1))
      {
            return relativeUrl;
      }
      string text2 = this.Context.Request.ClientBaseDir.VirtualPathString;
      if (!UrlPath.IsAppRelativePath(relativeUrl))
      {
            if (StringUtil.EqualsIgnoreCase(text2, text1))
            {
                  return relativeUrl;
            }
            if ((relativeUrl.Length == 0) || !UrlPath.IsRelativeUrl(relativeUrl))
            {
                  return relativeUrl;
            }
      }
      string text3 = UrlPath.Combine(text1, relativeUrl);
      text2 = UrlPath.AppendSlashToPathIfNeeded(text2);
      return HttpUtility.UrlPathEncode(UrlPath.MakeRelative(text2, text3));
}
 
public string ResolveUrl(string relativeUrl)
{
      if (relativeUrl == null)
      {
            throw new ArgumentNullException("relativeUrl");
      }
      if ((relativeUrl.Length == 0) || !UrlPath.IsRelativeUrl(relativeUrl))
      {
            return relativeUrl;
      }
      string text1 = this.AppRelativeTemplateSourceDirectory;
      if (string.IsNullOrEmpty(text1))
      {
            return relativeUrl;
      }
      string text2 = UrlPath.Combine(text1, relativeUrl);
      return this.Context.Response.ApplyAppPathModifier(text2);
}
--
Гайдар Магдануров
E-Mail | Блог | Сайт

Difficult I do now, impossible will take a while...
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / ResolveClientUrl
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]