您可以使用RowDataBound
事件来更改 GridView Row 中的某些内容。
protected void GridView1_RowDatabound(object sender, GridViewRowEventArgs e)
{
// check if this row is a row with Data (not Header or Footer)
if (e.Row.RowType == DataControlRowType.DataRow)
{
// find your Image control in the Row
Image image = ((Image)e.Row.FindControl("img"));
// set the path of image
img.ImageUrl = "path of image";
}
}
或者您可以使用foreach
语句在 Rows 集合中循环并更改图像的路径。此代码可能在 Page_Load 事件上。
foreach(GridViewRow row in GridView1.Rows)
{
// check if this row is a row with Data (not Header or Footer)
if (row.RowType == DataControlRowType.DataRow)
{
// find your Image control in the Row
Image image = ((Image)row.FindControl("img"));
// set the path of image
img.ImageUrl = "path of image";
}
}
编辑
您不能将图像设置为解决方案。为此,您必须创建一个处理程序(.ashx 文件)并在 C: 上传递您的图像名称并返回一个字节 [],如下所示:
public void ProcessRequest(HttpContext context)
{
byte[] imageBytes = File.ReadAllBytes(@"C:\" + context.Request["image"]);
context.Response.ContentType = "image/png";
context.Response.BinaryWrite(imageBytes);
}
image
在您的页面上,通过在 url 中传递参数的处理程序进行设置:
Image image = ((Image)row.FindControl("img"));
img.ImageUrl = "ImageHandler.ashx?image=1.png";