请问在DataList的分页中我放入一个Image的控件 
在后台怎么把值赋给Image控件<asp:datalist id="dtl" Runat="server">
<ItemTemplate>
<b><%# DataBinder.Eval(Container.DataItem, "name")%></b>
<asp:Image ID=img Runat=server></asp:Image>
</ItemTemplate>
</asp:datalist>

解决方案 »

  1.   

    <asp:Image ID=img Runat=server ImageUrl='<%# DataBinder.Eval(Container.DataItem, "img")%>'></asp:Image>
    试一下
      

  2.   

    后台的话,你可以在itemdatabound事件里面写代码
    if((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem))
    {
        Image myimg = (Image)e.item.findcontrol("img");
        myimg.imageurl =..
    }
    {
      

  3.   

    我这样写
    Image myImg = (Image)dtl.FindControl("img");
    myImg.
    我点不出来
    是不是要引用程序集
    我不知道引用哪一个
      

  4.   

    你是在itemdatabound里面写的么?
    还是?
      

  5.   

    我不是说了在itemdatacommand里面写!!!
      

  6.   

    你说下你要完成什么功能?一般动态绑定在itemdatabound里面来做
      

  7.   

    private void Bind(string schname,string proid)
    {
    Pyxuser pyxuser = new Pyxuser();
    Tyxuser tyxuser = new Tyxuser();
    tyxuser.yxuser_yxname = schname;
    tyxuser.belongsf = proid;
    DataTable dt = new DataTable();
    dt = pyxuser.GetSelectC(tyxuser);
    if(dt.Rows.Count < 1)
    {
    }
    else
    {
    for(int i=0;i<dt.Rows.Count;i++)
    {
    if(dt.Rows[0][12] != DBNull.Value)
    {
    if(dt.Rows[0][12].ToString() != "")
    {
    dt.Rows[0][8] = "showimg.aspx?type=pic&schid="+dt.Rows[0][0].ToString();
    }
    else
    {
    dt.Rows[0][8] = "image/luye.jpg";
    }
    }
    else
    {
    dt.Rows[0][8] = "image/luye.jpg";
    } string strName = dt.Rows[i][9].ToString();
    if(strName.Length > 149)
    {
    string str = strName.Substring(0,148)+"...";
    dt.Rows[i][9] =str;
    }
    }
    //分页开始
    PagedDataSource objpage = new PagedDataSource();
    objpage.DataSource = dt.DefaultView;
    objpage.AllowPaging = true;
    objpage.PageSize = 6;
    int curpage;
    if (Request.QueryString["Page"] != null)
    curpage = Convert.ToInt32(Request.QueryString["Page"]);
    else
    curpage = 1;
    objpage.CurrentPageIndex = curpage - 1;
    if (objpage.IsFirstPage && !objpage.IsLastPage)
    {
    this.hlProv.Enabled = false;
    this.hlNext.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + Convert.ToInt32(curpage + 1)+"&schname="+schname+"&proid="+proid;
    this.hlFirst.Enabled = false;
    this.hlLast.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + Convert.ToInt32(objpage.PageCount)+"&schname="+schname+"&proid="+proid;
    }
    else
    {
    if (objpage.IsLastPage && !objpage.IsFirstPage)
    {
    this.hlFirst.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + 1+"&schname="+schname+"&proid="+proid;
    this.hlLast.Enabled = false;
    this.hlNext.Enabled = false;
    this.hlProv.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + Convert.ToInt32(curpage - 1)+"&schname="+schname+"&proid="+proid;
    }
    else
    {
    if (objpage.IsFirstPage && objpage.IsLastPage)
    {
    this.hlLast.Enabled = false;
    this.hlNext.Enabled = false;
    this.hlProv.Enabled = false;
    this.hlFirst.Enabled = false;
    }
    else
    {
    this.hlFirst.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + 1+"&schname="+schname+"&proid="+proid;
    this.hlLast.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + Convert.ToInt32(objpage.PageCount)+"&schname="+schname+"&proid="+proid;
    this.hlNext.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + Convert.ToInt32(curpage + 1)+"&schname="+schname+"&proid="+proid;
    this.hlProv.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + Convert.ToInt32(curpage - 1)+"&schname="+schname+"&proid="+proid;
    }
    }
    }
    //
    this.dtl.DataSource = objpage;
    this.dtl.DataBind();
    //
    this.lblPageCount.Text = objpage.PageCount.ToString();
    this.lblRecordCount.Text = dt.Rows.Count.ToString();
    this.txtCurrentPage.Text = Convert.ToString((objpage.CurrentPageIndex + 1));
    }
    }
      

  8.   

    <asp:Image ID="img" Runat="server" ImageUrl='<%# DataBinder.Eval(Container.DataItem, "zhenjian")%>'></asp:Image>
      

  9.   

    你给的这段代码多了,我只想知道,你利用datalist要实现什么功能?
      

  10.   

    if(dt.Rows[0][12].ToString() != "")
    {
    dt.Rows[0][8] = "showimg.aspx?type=pic&schid="+dt.Rows[0][0].ToString();
    }
    else
    {
    dt.Rows[0][8] = "image/luye.jpg";
    }
    }
    else
    {
    dt.Rows[0][8] = "image/luye.jpg";
    }
    而且你这段代码肯定有问题
      

  11.   

    恩,是的
    我想实现从数据库里取出图片放在Image控件上,如果数据库里没有图片,那么就之接从文件夹里
    取出  image/luye.jpg
      

  12.   

    那么我觉得你对于image的绑定要放在itemdatacommand来作或者在设计的时候这样来做
    <asp:Image ID=img Runat=server ImageUrl='<%# DataBinder.Eval(Container.DataItem, "img")%>'></asp:Image> img是你上面所谓的row[][8]的数据集字段名
      

  13.   

    是的,我要在OnLoad的时候要实现的
      

  14.   

    汗,不知道你为什么一定要在onload里面了?
      

  15.   

    如果非要在onload来实现的话那么你就用<asp:Image ID=img Runat=server ImageUrl='<%# DataBinder.Eval(Container.DataItem, "img")%>'></asp:Image> img是你上面所谓的row[][8]的数据集字段名
      

  16.   

    dt.Rows[0][8] = "showimg.aspx?type=pic&schid="+dt.Rows[0][0].ToString();
    在值替换的时候出错了
      

  17.   

    Image类要引用哪一个程序集呀
      

  18.   

    动态绑定
    在itemdatabound事件中绑定图片路径