我使用以下代码将数据库中的图像绑定到我的asp:RadGrid Mastertable中的图像控件。但是我在行“iP.ImageUrl =”〜/ StreamImage.ashx?Id =“+ user;”中得到一个空引用异常。我无法理解为什么它会给我这个 这是代码:
<asp:Image ID="iPhoto1" runat="server" AlternateText="Profile Picture"
/>
protected void btnSearch_Click(object sender, EventArgs e)
{
var data = ss.qStudSearch(Common.GetValue(txtName.Text),
Common.GetValue(txtResearch.Text), currUser.iProgramID);
rgSearch.DataSource = data;
rgSearch.DataBind();
foreach (GridDataItem d in rgSearch.MasterTableView.Items)
{
int user = Convert.ToInt32(d.GetDataKeyValue("upid"));
var pix = ss.GetPics(user);
Image iP =
(Image)rgSearch.MasterTableView.FindControl("iPhoto1");
if (pix != null)
{
iP.ImageUrl = "~/StreamImage.ashx?Id=" + user;
}
else
{
iP.ImageUrl = "~/images/no_image.jpg";
}
}
}
getpics方法从数据库中检索图像,并在我通过调试检查它时正确检索它。但是我无法将它分配给asp:Image控件..有人可以帮我这个吗?
答案 0 :(得分:0)
iP
可能为空,或user
为空。在分配iP.ImageUrl之前放置一个断点并检查项目以查看哪一个为空。