В основном я делаю веб-сайт для своего университетского проекта, который представляет собой сайт с фотографиями и обоями. Я сохранил изображения в папке (с именем ImageStorage), и я извлекаю изображения через ссылку на изображение из базы данных. Я использовал список данных на своей странице (image-viewer.aspx), чтобы показать все мои изображения в виде кнопки изображения. В основном я хочу, чтобы когда пользователь нажимал на изображение, он перенаправлялся на другую страницу (image-detail.aspx), а также отправлял URL-адрес или идентификатор этого изображения, чтобы я мог использовать его для отображения этого изображения на (image-detail. aspx) страница
Вот мой код image_viewer.aspx:
<form id = "form1" runat = "server">
<div>
<asp:DataList ID = "DataList1" runat = "server" CellPadding = "15" CellSpacing = "10" DataSourceID = "SqlDataSource1" GridLines = "Both" OnSelectedIndexChanged = "DataList1_SelectedIndexChanged" RepeatColumns = "3" RepeatDirection = "Horizontal" style = "margin-left: 0px" >
<ItemTemplate>
<br />
<asp:ImageButton ID = "Image1" style = "width:335px ;height:210px" runat = "server" ImageUrl='<%# Eval("ImagePath") %>' CommandName = "imgClick"/>
</ItemTemplate>
</asp:DataList>
<br />
<asp:SqlDataSource ID = "SqlDataSource1" runat = "server" ConnectionString = "<%$ ConnectionStrings:photo_stock_viewConnectionString %>" SelectCommand = "SELECT * FROM [ImageInfo1]"></asp:SqlDataSource>
<br />
</div>
</form>
HTML-код в image_detail.aspx для отображения изображения:
<img class = "img-fluid mt-4" src = "ImageStorage/image-detail.jpg"/>
Вам нужен код для обработки события щелчка изображения.
protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
if (e.CommandName == "imgClick")
{
ImageButton btn = e.CommandSource as ImageButton;
//Do what you need to do here
string imgUrl = btn.ImageUrl;
Response.Redirect(imgUrl,true);
}
Если вам нужно установить дополнительную информацию, такую как imageID, вы также можете использовать CommandArgument в качестве параметра, установить в html и получить его из кода позади Вот URL-адрес как узнать, какую кнопку изображения я нажимаю в списке данных
Вы можете легко использовать Response.Redirect(URL, true);
ок спасибо работает. Теперь, как я могу переместить путь img на новую страницу (image-detail.aspx) и отобразить на ней это изображение, я буду очень благодарен !!
<a href='<%# "image-detail.aspx?ImagePath = "+Eval("ImagePath")%>'> Я использовал это, чтобы перейти на другую страницу вместо ImageButton, теперь как я могу переместить путь img к новую страницу (image-detail.aspx) и отобразить на ней это изображение
Вы можете использовать <a href='image-detail.aspx?imagePath=<%# Eval("ImagePath")%>'>ссылку</a>
как это перенесет меня на другую страницу? :/