RadGrid绑定数据库中的图像

时间:2018-02-15 23:39:05

标签: c# asp.net gridview nullreferenceexception radgrid

我使用以下代码将数据库中的图像绑定到我的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控件..有人可以帮我这个吗?

1 个答案:

答案 0 :(得分:0)

iP可能为空,或user为空。在分配iP.ImageUrl之前放置一个断点并检查项目以查看哪一个为空。