【发布时间】:2015-08-22 11:00:50
【问题描述】:
我希望在网格视图中显示图像。
我有一个包含 4 列的数据库 - id、作者、评论、文件名(其中包含 img 路径)
http://postimg.org/image/4loz8t9fb/
我有一个图片上传方法,所以当用户写下他的评论,选择一张照片并点击提交 - 他的名字,评论和照片路径进入数据库(并且照片本身被上传到'Images'文件夹中项目文件夹)。
<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns = "False"
Font-Names = "Arial" Height="375px" Width="498px" DataSourceID="SqlDataSource2" >
<Columns>
<asp:BoundField DataField="Author" HeaderText="Author" SortExpression="Author" />
<asp:BoundField DataField="Comment" HeaderText="Comment" SortExpression="Comment" />
<asp:BoundField DataField="FileName" HeaderText="FileName" SortExpression="FileName" />
<asp:TemplateField HeaderText="Image">
<ItemTemplate >
<asp:Image ID="Image1" runat="server" ImageUrl ='<%# Eval("FileName") %>' height="120px" Width="150px" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
这里是c#代码-
protected void addcomment_Click(object sender, EventArgs e)
{
string FileName = "";
if (fileupload.PostedFile != null)
{
FileName = Path.GetFileName(fileupload.PostedFile.FileName);
//Save files to disk
fileupload.SaveAs(Server.MapPath("Images/" + FileName));
}
if (TextBox1.Text.Length > 0)
{
string name = firstName + " " + lastName;
SqlCommand cmd = new SqlCommand("insert into comments values(@name,@comment,@filename)", conn);
cmd.Parameters.AddWithValue("@name", name);
cmd.Parameters.AddWithValue("@comment", TextBox1.Text);
cmd.Parameters.AddWithValue("@filename", Server.MapPath("Images/" + FileName));
conn.Open();
cmd.ExecuteNonQuery();
GridView1.DataBind();
conn.Close();
TextBox1.Text = "";
Response.Redirect(Request.Url.AbsoluteUri);
}
else
{
TextBox1.Text = "You have to type something buddy!";
}
}
gridview数据源当然是sql。
这是数据库和网站的图像
【问题讨论】:
标签: asp.net