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

Hosted by uCoz