前台代码
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" GridLines="Vertical" OnRowCommand="GridView1_RowCommand">
<Columns>
<asp:BoundField DataField="物品编号" HeaderText="物品编号" ReadOnly="true"></asp:BoundField>
<asp:ButtonField HeaderText="显示图片" Text="显示图片" CommandName="Select" />
</Columns>
</asp:GridView>
<asp:Label runat="server" CssClass="col-md-2 control-label" ID="Text"></asp:Label>
<p></p>
<div class="row">
<div class="col-md-4">
<p>缩略图</p>
<asp:Image runat="server" ID="pic" />
</div>
</div>
后台代码
public System.Drawing.Image ReturnPhoto(byte[] streamByte)
{
System.IO.MemoryStream ms = new System.IO.MemoryStream(streamByte);
System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
return img;
}
protected void GridView1_RowCommand(object source, GridViewCommandEventArgs e)
{
if (e.CommandName == "Select")
{
int i = Convert.ToInt16(e.CommandArgument.ToString());
string ID = this.GridView1.Rows[i].Cells[0].Text;
Text.Text = ID;
sqlcon = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString);
string sqlstr = "select * from 物品表 where 物品编号=" + ID;
SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon);
DataSet myds = new DataSet();
myda.Fill(myds, "物品表");
String str;
if (myds.Tables["物品表"].Rows[0]["缩略图"] != null)
{
str = myds.Tables["物品类"].Rows[0]["缩略图"].ToString();
byte[] Byte = System.Text.Encoding.Default.GetBytes(str);
System.Drawing.Image img = ReturnPhoto(Byte);
img.Save("~/images/slt.jpg");
pic.ImageUrl = "~/images/slt.jpg";
}
}
}
我用web.config中链接的数据库,现在想点击表格中的“显示图片”选项在下面的image控件中显示该行物品编号所对应的图片。可是VS报错:
“System.NullReferenceException”类型的异常在 App_Web_b3knhkus.dll 中发生,但未在用户代码中进行处理
其他信息: 未将对象引用设置到对象的实例。
求大神指点呀~~~