Satheesh Kumar Subramanian
Привет,
Вы даже можете использовать элемент управления GridView для достижения того же самого, поскольку он имеет множество функций.
Во-первых, разместите GridView на главной странице следующим образом:
(Заменить на <положите ваш набор данных-Url_изображения-Имя_поля&ГТ; ваше фактическое имя поля)
<body>
<form id="frmGallery" runat="server">
<table id="Table6" align="center" cellpadding="0" cellspacing="0" style="border: 0px Solid Gray;
width: 100%; font-family: tahoma; font-size: 10pt; background-color: white;">
<tr>
<td style="width: 100%; height: 200px;" align="left" valign="top">
<asp:GridView ID="gvImageGallery" runat="server"
PageSize="50" AutoGenerateColumns="false" Width="100%"
onrowcommand="gvImageGallery_RowCommand">
<Columns>
<asp:TemplateField HeaderText="Image">
<ItemStyle Width="100%" />
<ItemTemplate>
<asp:ImageButton ID="imgBtnShow" runat="server" CommandName="ShowImage" CommandArgument="<%# Container.DataItemIndex %>"
ImageUrl="<Put-Your-DataSet-ImageURL-FieldName>" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</td>
</tr>
</table>
</form>
</body>
Свяжите свой GridView с вашим набором данных и добавьте событие " gvImageGallery_RowCommand "
В этом случае сначала найдите выбранный индекс строки, затем найдите элемент управления ImageButton и, наконец, получите ImageURL этой кнопки.
Добавьте ClientScript, чтобы открыть всплывающее окно для отображения изображения(перед этим вам нужно создать страницу)
(найдите образец ниже)
private void BindGridView()
{
DataSet ds = "your-dataset-retrieval-stuff-here";
gvImageGallery.DataSource = ds;
gvImageGallery.DataBind();
}
protected void gvImageGallery_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "ShowImage")
{
// Get Selected Row Index through CommandArgument
int index = Convert.ToInt32(e.CommandArgument);
// Find ImageButton in GridView Row
ImageButton imgBtn = (ImageButton)gvImageGallery.Rows[index].Cells[0].FindControl("imgBtnShow");
// Get Selected Image's URL
string imageURL = imgBtn.ImageUrl;
// Open Popup window
ClientScript.RegisterStartupScript(this.GetType(), "show", "<script language="javascript">window.open('Pop.aspx?URL=" + imageURL + "','ShowImage','height=300px,width=600px,scrollbars=1,center=yes');</script>");
}
}
Во всплывающем окне создайте изображение и установите ImageURL из значения QueryString(пример приведен ниже)
<body>
<form id="frmPopup" runat="server">
<asp:Image ID="imgShow" runat="server" />
</form>
</body>
public partial class Pop : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request.QueryString["URL"] != null)
{
imgShow.ImageUrl = Request.QueryString["URL"];
}
}
}
}
Наконец, сделайте стили GridView, ImageButton и всплывающего окна высотой и шириной в соответствии с вашими требованиями