我在datalist中怎么为一个hyperlink1.navigateurl=download.aspx?path=
path想获得一个已绑定到数据源上的字段,请问怎么获得,最好是在cs也面中获得,谢谢!

解决方案 »

  1.   

    1.模板列可以很灵活的操作
    <ItemTemplate>
    <a href='ViewProductdetail8.aspx?prodID=<%# DataBinder.Eval(Container, "DataItem.ProdID") %>&id=<%=Request.Params["id"].ToString()%>'  target=_blank>
    <%#DataBinder.Eval(Container, "DataItem.SupplyProdNO")%>
    </a>
    </ItemTemplate>
    设置DataList的DataKeyField字段,在cs里可以通过DataList1.DataKeys[e.item.itemindex]来获得主键,通过主键应该能获得该条记录的所有数据。
      

  2.   

    DataList1.DataKeys[e.item.itemindex]这个怎么用能给解释一下吗?非常谢谢!
      

  3.   

    DataList1.DataKeys是你指定的DataKeyField字段的一个数组,e.item.itemindex是当前操作记录的索引号,两者给出当前记录的主键值
      

  4.   

    courseid=Request.QueryString["id"];
    CyyData cd=new CyyData(ConfigurationSettings.AppSettings["ConnString"]);
    string selectstr="select * from courseware where kjcourse_id='"+courseid+"'";
    ds=cd.ReturnDataSet(selectstr,"courseware");
    dl.DataSource=ds.Tables["courseware"].DefaultView;
    dl.DataKeyField="kj_id";

    dl.DataBind();
    string selectstr1="select kj_path from courseware where kj_id='"+dl.DataKeys[e.item.itemindex]+"'";
    SqlDataReader dr=cd.ReturnReader(selectstr1);
    //img1.NavigateUrl="Download.aspx?File="+dl.DataKeyField;
    img2.NavigateUrl="Download.aspx?File="+dr["kj_path"];请再看看,怎么出现无item定义的错误,我这样写对吗?
      

  5.   

    <asp:HyperLinkColumn Text="XXXXX" DataNavigateUrlField="路径的字段名" DataNavigateUrlFormatString="download.aspx?path={0}" HeaderText="XXXXX">
      

  6.   

    <asp:HyperLinkColumn 这个是不是只有在datagrid中才有啊?datalist中有吗?谢谢
      

  7.   

    <ItemTemplate>
    <a href='ViewProductdetail8.aspx?prodID=<%# DataBinder.Eval(Container, "DataItem.ProdID") %>&id=<%=Request.Params["id"].ToString()%>'  target=_blank>
    <%#DataBinder.Eval(Container, "DataItem.SupplyProdNO")%>
    </a>
    </ItemTemplate>
    不用加什么hyperlink列啦.直接自己加就可以了.
      

  8.   

    <asp:HyperLink imageurl="../images/download.gif" width="16" height="16" Runat="server" ID="img2" NavigateUrl="Download.aspx?File=<%# DataBinder(Container.DataItem,"kj_path")%>/>为什么这样是错误的啊??????????
      

  9.   

    在<asp:HyperLink 能用=<%# DataBinder(Container.DataItem,"kj_path")%>这个吗?怎么出来一个对话框说,不能引用啊。要是能怎么引用啊?????