встраивание изображений в пользовательский элемент управления asp.net - PullRequest
2 голосов
/ 07 декабря 2011

Я создаю пользовательский элемент управления Gridview, в соответствии с требованием, я должен разместить две кнопки изображения в верхнем пейджере. где я могу отображать кнопки изображения в верхнем пейджере, но только одна кнопка изображения показывает изображение, которого нет у другой кнопки изображения.

Вот код:

 protected override void InitializePager(GridViewRow row,int columnSpan,PagedDataSource pagedDataSource)
        {
//adding  refresh button in TopPager
            ImageButton Refresh = new ImageButton();
            Refresh.ToolTip = "Refresh GridView";
            Refresh.ImageAlign = ImageAlign.Right;
            Refresh.AlternateText = "Refresh GridView";
            ClientScriptManager cs1 = this.Page.ClientScript;
            Refresh.ImageUrl = cs1.GetWebResourceUrl(typeof(myCustomGrid.CustomGrid), "myCustomGrid.Refresh.gif");

// adding button  in TopPager to add new record..
            ImageButton ExportToPDF = new ImageButton();
            ExportToPDF.ToolTip = "Export To PDF";
            ExportToPDF.AlternateText = "PDF Export";
            ClientScriptManager cs2 = this.Page.ClientScript;
            ExportToPDF.ImageUrl = cs2.GetWebResourceUrl(typeof(myCustomGrid.CustomGrid), "myCustomGrid.PDF.gif");
}

Я установил оба свойства изображений для встроенного ресурса

в Assembly.info

[assembly: WebResource("myCustomGrid.Refresh.gif", "image/gif")]
[assembly: WebResource("myCustomGird.PDF.gif", "image/gif")]

где я иду не так! любая помощь очень ценится.

Ответы [ 4 ]

1 голос
/ 07 декабря 2011

Помещены ли эти изображения в корень проекта?Потому что, если нет, вы должны добавить относительный путь.И я не вижу пути от ассемблера.Вы должны сделать так:

[assembly: WebResource("{Your assembly full name}.{Path to image inside assembly and with replacement '/' to '.'}.{Image name}", "image/gif")]

Например:

[assembly: WebResource("MyBestProject.Controls.resources.images.myCustomGird.PDF.gif", "image/gif")]
0 голосов
/ 25 ноября 2013

"только" 2 года спустя у меня возникла похожая проблема.Я просто решил свою с простой идеей, которая пришла, посмотрев на сходство между этим постом и моей проблемой.Возможно, кто-то еще найдет это решение полезным в будущем.

Проблема, по-видимому, связана с разделом ALLCAPS имени.По некоторым причинам имена UpperLower работают нормально, как и все нижние.Но я предполагаю, что сегменты ALLCAPS внутренне преобразуются во что-то другое и не работают.В моем случае, переименование моего значка из «ARROWLEFT.GIF» в «ArrowLeft.gif» (имя файла, регистрация и любые ссылки на ресурс) устранило проблему.

Дополнительное примечание: в том же проекте у меня было другое изображение с именем "icon_Calendar.GIF", которое также не работало, пока я не переименовал его в "icon_Calendar.gif".

0 голосов
/ 08 декабря 2011

Обновление: когда кнопки изображения отображают HTML, сгенерированный Refresh.gif и PDF.gif imagebuttons соответственно. Вместо этого PDF.gif не загружается, я получаю указанный альтернативный текст, который находится в этой строке кода ExportToPDF.AlternateText = "PDF Export";

 <input align="right" type="image" style="height:20px;width:20px;" alt="Refresh GridView" src="/WebResource.axd?d=CIOcfTt92OMP_aqepr-cGa2E4E8-uaiywsae5-4NcYocrJ-NE-cIL4Qb2JfX3tY0cIa8EwDzWnyeBqNiST34SNpBNuGjVC113XqMTprBN-XU9J7ilPsI6bsaXwHa-Qt30&amp;t=634589418951556073" title="Refresh GridView" name="ctl00$MainContent$customGrid0$ctl01$ctl02">



 <input type="image" style="height:20px;width:20px;margin-left:480px;" alt="PDF Export" src="/WebResource.axd?d=su3rsVMzKa7BNi4A-JZVUHPhHh3sS-oWW9bmAeK4I0h1A11NHqBD2setFyA3yundDC34YO0gbBoz5G0PHS0uxeQYI66QON_syQhIdlIKs4JzJW6H_oLErMjOZE6Q_slB0&amp;t=634589418951556073" title="Export To PDF" name="ctl00$MainContent$customGrid0$ctl01$ctl01">
0 голосов
/ 07 декабря 2011

Может быть опечатка.

Вы имели в виду: -

[assembly: WebResource("myCustomGrid.PDF.gif", "image/gif")]

а не ...

[assembly: WebResource("myCustomGird.PDF.gif", "image/gif")]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...