图像未动态加载到Gridview中 [英] Image is not loading in the Gridview dynamically
本文介绍了图像未动态加载到Gridview中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要动态加载gridview中的图像,我使用下面的代码,我无法在gridview中加载图像。请告诉我这个代码出了什么问题。
请找到下面的代码:
Default.aspx文件中的代码
Hi,
I need to load images in the gridview dynamically, I use the below code through which I'm unable to load the images in the gridview. Kindly let me know which went wrong in this code.
Please find the code below:
The code in Default.aspx file
<form id="form1" runat="server">
<div>
<asp:GridView ID="gvImages" runat="server" AutoGenerateColumns="False"
HeaderStyle-BackColor="#7779AF" HeaderStyle-ForeColor="white">
<Columns>
<asp:BoundField HeaderText = "Image Name" DataField="imagename" />
<asp:TemplateField HeaderText="Image">
<ItemTemplate>
<asp:Image ID="Image1" runat="server" ImageUrl='<%# Eval("ImageID") %>' Height="150px" Width="150px"/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</form>
Default.aspx.cs文件中的代码
The code in Default.aspx.cs file
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindGridData();
}
}
/// <summary>
/// function is used to bind gridview
/// </summary>
public void BindGridData()
{
DataTable dt = new DataTable();
dt.Columns.Add("imagename");
dt.Columns.Add("ImageID");
DataRow dr = dt.NewRow();
dr["imagename"] = "Image1";
dr["ImageID"] = @"D:\Mathi_Working\01816_Backup\Mathi\Images\9.gif";
dt.Rows.Add(dr);
DataRow dr1 = dt.NewRow();
dr1["imagename"] = "Image2";
dr1["ImageID"] = @"D:\Mathi_Working\01816_Backup\Mathi\Images\HereSmiley.JPG";
dt.NewRow();
dt.Rows.Add(dr1);
gvImages.DataSource = dt;
gvImages.DataBind();
gvImages.Attributes.Add("bordercolor", "black");
}
请告诉我在哪里犯错误。
谢谢&问候,
Mathi。
Kindly let me know where I'm making mistake.
Thanks & Regards,
Mathi.
推荐答案
不要给像这样的图像路径是绝对路径,不会起作用。
Do not give Image path like this is the absolute path and will not work.
dr1["ImageID"] = @"D:\Mathi_Working\01816_Backup\Mathi\Images\HereSmiley.JPG";
这应该是......
This should be a like...
dr1["ImageID"] = @"http://localhost:53734/Mathi/Images/HereSmiley.JPG";
你在Grid View RowBound事件中也可以这样做...找到附加的代码片段
You can do the same in Grid View RowBound event also... find the attached code snippet
protected void grd_listOutsourceRequest_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Image img = new Image();
img.ImageUrl = "../Images/Blue.png";
img.Visible = true;
e.Row.Cells[6].Text = "Open";
e.Row.Cells[6].Controls.Add(img);
}
}
以下代码解决了我的问题
The below code solved my problem
string rootImgPath = ResolveUrl("~/Mathi/Images/");
这篇关于图像未动态加载到Gridview中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文