finally
{
con.Close();
}
}
public bool IsReusable
{
get { return true; }
}
}
После того, как вы создадите обработчик НTTР, его необходимо зарегистрировать в файле web.config, как показано ниже:
<httpHandlers>
<add verb="GET" path="ImageFromDB.ashx" type="ImageFromDB" />
</httpHandlers>
Теперь можно получать графические данные, опрашивая URL обработчика HTTP, указывая ID строки, которую нужно извлечь. Вот пример:
ImageFromDB.ashx?ID=1389
Чтобы показать содержимое этого изображения на другой странице, нужно лросто установить атрибут src изображения в этот URL, как показано ниже:
<img src="ImageFromDB.ashx?ID=1389"/>
На рис. 10.23 показана страница с множеством элементов управления и изображениями логотипов. Она использует следующий ItemTemplate в GridView:
<ItemTemplate>
<table border='1'>
<tr>
<td><img src='ImageFromDB.ashx?ID=<%# Eval("pub_id") %>'/></td>
</tr>
</table>
<b><%# Eval("pub_name") %></b>
<br / >
<%# Eval("city") %>,
<%# Eval("state") %>,
<%# Eval("country") %>
<br /><br / >
</ItemTemplate>
и привязана к следующему источнику данных:
<asp:SqlDataSource ID="sourcePublishers"
ConnectionString="<%$ ConnectionStrings:Pubs %>"
SelectCommand="SELECT * FROM Publishers" runat="server"/>
Этот подход с обработчиком HTTP хорошо работает, если вы хотите построить детальную страницу с информацией об отдельной записи. Например, вы можете выводить список издателей, а затем показывать графическое изображение, символизирующий издателя, когда пользователь осуществляет выбор. Однако это решение не так эффективно, если вам нужно отобразить сразу все графические изображения для всех издателей, например, в списковом элементе управления.
предыдущая следующая страница вначало главы оглавление
474