показ изображений через gridview? - PullRequest
0 голосов
/ 19 января 2011

предположим, что мои двоичные данные изображений сохранены в таблице базы данных, и я хочу показать эти изображения через gridview.один из подходов - просто создать одну страницу, где я передам некоторый идентификатор в виде строки запроса, и эта страница будет извлекать данные изображения из БД и передавать данные изображения на мою страницу с помощью метода BinaryWrite.Например, http://www.aspdotnetcodes.com/Insert_Images_Database.aspx. этот URL описывает, как отображать данные изображения через BinaryWrite.этот подход стар, и я знаю.Есть ли какой-либо другой способ, которым я могу показать изображение в gridview, но я не хочу сохранять URL изображения в таблице. Пожалуйста, дайте мне знать, если вы знаете какой-либо другой подход для отображения изображений через gridiview, когда двоичные данные изображения хранятся вдб.спасибо

Ответы [ 2 ]

0 голосов
/ 19 января 2011

Похоже, что ваши изображения хранятся в вашей базе данных в двоичном формате.Затем вы захотите показать их в своем GridView.

Рассмотрите этот подход:

  • создайте поле шаблона в вашем виде сетки для хранения вашего изображения.В конечном итоге он вызовет URL-адрес обработчика, чтобы получить двоичные данные для вашего изображения.
  • создайте страницу обработчика изображения - сделайте ее .ashx.Добавьте уникальный идентификатор в строку запроса, например, чтобы получить нужное изображение из базы данных
<Columns>
    <asp:TemplateField HeaderText="Image">
     <ItemTemplate>
        <asp:Image ID="Image1" runat="server"  Height="80px" Width="80px" 
        ImageUrl='<%# "ImageHandler.ashx?ImID="+ Eval("ImageID")
                   %>'/>
     </ItemTemplate>
</asp:TemplateField>
</Columns>

См. Ответ внизу этого вопроса MSDN для получения более подробной информации о том, как реализовать ваш обработчик изображений.Тогда вам не придется возвращать двоичные данные при связывании вашего GridView.С другой стороны, он создает n вызовов для обработчика для каждой строки в сетке.

0 голосов
/ 19 января 2011

Я задавал подобный вопрос здесь:

Потоковая передача изображений с использованием HttpHandler

Обратите внимание, что мне пришлось использовать DataReader в моей окончательной версии: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...