Я собираюсь создать элемент управления веб-сервера, представляющий древовидную структуру. Поэтому я хочу использовать 2 изображения для + и - для расширения / свертывания. Как я могу встроить это в элемент управления таким образом, чтобы его можно было использовать в качестве источника изображения при визуализации на странице?
Поскольку это будет в скомпилированной библиотеке веб-элементов управления, я не хочу полагаться на внешние изображения в веб-приложении.
Edit:
Основываясь на этом ответе Andre Kraemer Я сделал следующее:
В AssemblyInfo.vb:
<Assembly: System.Web.UI.WebResource("MyCompany.MyWebControls.Resources.plus.gif", "image/gif")>
<Assembly: System.Web.UI.WebResource("MyCompany.MyWebControls.Resources.minus.gif", "image/gif")>
В моем RenderContents
переопределении:
Dim lPlusImage As New WebControls.Image()
Dim lMinusImage As New WebControls.Image()
lPlusImage.ImageUrl = Page.ClientScript.GetWebResourceUrl(Me.GetType(), "MyCompany.MyWebControls.Resources.plus.gif")
lMinusImage.ImageUrl = Page.ClientScript.GetWebResourceUrl(Me.GetType(), "MyCompany.MyWebControls.Resources.minus.gif")
lPlusImage.RenderControl(output)
lMinusImage.RenderControl(output)
Моя сборка называется MyWebControls
.
Моё корневое пространство имен - MyCompany.MyWebControls
.
Изображения plus.gif
и minus.gif
находятся в папке с именем Resources
, и изображения имеют Действие построения , установленное на Встроенный ресурс .
Это все еще не работает. Я не получаю ошибок. Я попробовал сгенерированный URL-адрес изображения прямо в браузере, бот ничего не происходит, просто пустая страница.
Примечание:
Я попытался использовать неверный путь в имени ресурса, и результат был точно таким же, что заставило меня задуматься, нужно ли мне делать что-то особенное, чтобы сопоставить реальный ресурс с именем ресурса. Я получаю ошибку 404 Not Found, только если я использую в коде другое имя, отличное от того, которое было указано в AssemblyInfo, это никак не связано с указанием пути к реальному ресурсу!
Edit:
Я нашел решение !
Я обнаружил, что это разница между C # и VB. Смотрите мой ответ на этот вопрос.