2011-12-20 2 views
2

В этом сценарии - у меня есть имена изображений (например: - abc.jpg), сохраненные в базе данных. &. Фактические изображения находятся в папке в файловой системе (~/ClientImages /).Показать изображение в Div из базы данных в ASP.NET

Теперь я хочу, чтобы получить изображение из БД:

ImageUrl = <%# string.Format("~/ClientImages/{0}", Eval("image")) %> 

повторно размер его 600 * 400 & дисплей в div на этой странице.

Я создал хранимую процедуру &, используя Grid View, но не смог ее выполнить.

Также я могу сделать это без Grid View, я имею в виду, как установить DataTable изображение

dt.Rows[0]["image"] 

к div через сСт?

Заранее спасибо

Update

только для нубов: р Это очень простой метод, Вы можете также заполнить DataGrid из CS-файла, но я выбрал грязный подход ie.SqlAdaperSource Возьмите Gridview, выберите - DataSource (то есть: - SqlDataAddapter, пройдите через мастер).

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
    DataKeyNames="id" DataSourceID="SqlDataSource1"> 
    <Columns>   
    <asp:TemplateField> 
    <ItemTemplate> 
    <asp:Image ID="img12" runat="server" Width="600px" Height="400" ImageUrl='<%# Page.ResolveUrl(string.Format("~/ClientImages/{0}", Eval("image"))) %>' /> 

    </ItemTemplate> 
    </asp:TemplateField> 

    </Columns> 

</asp:GridView> 


## SqlDataSource ## 
<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="<%$ ConnectionStrings:XXXXConnectionStringName %>" 
    SelectCommand="Stored_Procedure_Name" SelectCommandType="StoredProcedure"> 
</asp:SqlDataSource> 

ответ

2

Вы можете ограничить и разрешить изображение для <img> или <asp:image>:

<div> 
    <img id="img1" runat="server" width='600' height='400' 
     src='<%# Page.ResolveUrl(string.Format("~/ClientImages/{0}", Eval("image"))) %>' /> 
</div> 

<div> 
    <asp:image id="img1" runat="server" Width='600' Height='400' 
     ImageUrl='<%# Page.ResolveUrl(string.Format("~/ClientImages/{0}", Eval("image"))) %>' /> 
</div> 

Если вы хотите изменить размер изображения на лету вы можете использовать код в этом вопросе:

create fixed size thumbnail dynamically on listview control

+2

Я думаю, что ключевым здесь является призыв к Page.ResolveUrl(). Моя ставка - это его исходный код, и это единственное, что его отключает. Он ожидает, что разметка переведет этот URL-адрес, когда все, что он действительно делает, пишет тильду на страницу html, и браузер не знает, что с ней делать. –

0

Изменение размера изображения можно легко. Вот пример: http://snippets.dzone.com/posts/show/4336

Что касается просмотра изображения, код выглядит хорошо для меня. В чем проблема с отображением изображения. Вы знаете, что если вы выводя его с помощью ASP.NET вам нужно будет сделать

<img src='<%# string.Format("/ClientImages/{0}", Eval("image")) %>' alt='' /> 
Смежные вопросы