Можно ли переопределить ResolveUrl?

Я использую следующие приложения .net для разрешения пути к изображению, файлу css или файлу javascript.

<%=ResolveUrl("~/Scripts/myscript.js")%>

<%=ResolveUrl("~/images/myimage.jpg")%>

Все мои страницы и элементы управления наследуются от базовой страницы или базового пользовательского элемента управления.

Я пытался, но мне не удалось переопределить метод ResolveUrl, чтобы я мог включить некоторую пользовательскую логику в путь к файлам.

Любые идеи, как я могу переопределить метод ResolveUrl? Альтернативой является создание моего собственного пользовательского метода, который делает то же самое, но предпочитает работать с ResolveUrl.


person amateur    schedule 14.12.2010    source источник
comment
Не уверен, какая пользовательская функция вам нужна, но вам могут пригодиться следующие: HttpContext.Current.Response.ApplyAppPathModifier и AppRelativeTemplateSourceDirectory (свойство элемента управления). Эти два параметра в сочетании с путем, который вы пытаетесь разрешить, могут дать вам тот же эффект, что и ResolveUrl.   -  person Peter    schedule 15.12.2010


Ответы (2)


ResolveUrl не является виртуальным, поэтому у вас не будет большого успеха при использовании переопределения, и он не использует внутри ничего, что вы можете переопределить для настройки функциональности. Это оставляет вас с написанием собственной функции полезности.

person Chris Taylor    schedule 14.12.2010

Я бы создал свой ResolveCustomUrl метод, чтобы будущие разработчики не сошли с ума

person hunter    schedule 14.12.2010