想在datagrid中显示图片,采用物理路径法。但是显示不出来,哪位高人帮忙指点一下,多谢。
showImage.aspx.cs 代码
using mysql;
public partial class showimage : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
this.Title = "显示图片";
if (Page.IsPostBack)
{ }
else
{
mySQL SQLTable = new mySQL(); //mySQL我是定义的数据库访问类
SQLTable.SQL = "select * from Person"; //Person是包含图片路径PersonImage字段的数据表
DataGrid1.DataSource = SQLTable.ReadFromTable();
DataGrid1.DataBind();
}
} #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
}
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
public class mySQL
{
public string SQL = "";
private SqlConnection Conn;
public DataView ReadFromTable()
{
Conn = new SqlConnection("server=localhost\\SqlExpress;uid=sa;pwd=123456;database=个人图片");
Conn.Open();
SqlDataAdapter sda = new SqlDataAdapter(SQL, Conn);
DataSet ds = new DataSet();
sda.Fill(ds, "Person");
Conn.Close();
return ds.Tables["Person"].DefaultView;
}
}
showImage.aspx代码
<asp:DataGrid ID="DataGrid1" AutoGenerateColumns="False" Width="99%" HeaderStyle-BackColor="#ff0000"
HeaderStyle-Font-Bold="True" HeaderStyle-ForeColor="#ffffff" ItemStyle-BackColor="Beige"
BorderColor="#000000" Runat="server" HeaderStyle-HorizontalAlign="Center">
<Columns>
<asp:TemplateColumn HeaderText="图片号">
<ItemTemplate>
<asp:Label Runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "PersonID") %>' ID="Label1"/>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="类型">
<ItemTemplate>
<asp:Label Runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "PersonImageType") %>' ID="Label2"/>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="照片">
<ItemTemplate>
<asp:Image Runat="server" ID="Image1"
ImageUrl='<% #DataBinder.Eval(Container,"DataItem.PersonImage") %>' />
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
showImage.aspx.cs 代码
using mysql;
public partial class showimage : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
this.Title = "显示图片";
if (Page.IsPostBack)
{ }
else
{
mySQL SQLTable = new mySQL(); //mySQL我是定义的数据库访问类
SQLTable.SQL = "select * from Person"; //Person是包含图片路径PersonImage字段的数据表
DataGrid1.DataSource = SQLTable.ReadFromTable();
DataGrid1.DataBind();
}
} #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
}
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
public class mySQL
{
public string SQL = "";
private SqlConnection Conn;
public DataView ReadFromTable()
{
Conn = new SqlConnection("server=localhost\\SqlExpress;uid=sa;pwd=123456;database=个人图片");
Conn.Open();
SqlDataAdapter sda = new SqlDataAdapter(SQL, Conn);
DataSet ds = new DataSet();
sda.Fill(ds, "Person");
Conn.Close();
return ds.Tables["Person"].DefaultView;
}
}
showImage.aspx代码
<asp:DataGrid ID="DataGrid1" AutoGenerateColumns="False" Width="99%" HeaderStyle-BackColor="#ff0000"
HeaderStyle-Font-Bold="True" HeaderStyle-ForeColor="#ffffff" ItemStyle-BackColor="Beige"
BorderColor="#000000" Runat="server" HeaderStyle-HorizontalAlign="Center">
<Columns>
<asp:TemplateColumn HeaderText="图片号">
<ItemTemplate>
<asp:Label Runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "PersonID") %>' ID="Label1"/>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="类型">
<ItemTemplate>
<asp:Label Runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "PersonImageType") %>' ID="Label2"/>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="照片">
<ItemTemplate>
<asp:Image Runat="server" ID="Image1"
ImageUrl='<% #DataBinder.Eval(Container,"DataItem.PersonImage") %>' />
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货