我是新人,最近做一个后台管理,遇到这种事情:我使用HyperLink控件显示  修改  的链接地址,代码是这样写的
<asp:HyperLink ID="yzone_id" Runat="server" NavigateUrl="editnews1.aspx?ID='<%# ((int)DataBinder.Eval(Container.DataItem,'yzone_id')) %>'">
<%# DataBinder.Eval(Container.DataItem,"yzone_name") %>
</asp:HyperLink>
调试过后没有报错,但是把鼠标放在连接上的时候属性栏上的链接就变这样了:
http://localhost/editnews1.aspx?ID='<%# ((int)DataBinder.Eval(Container.DataItem,'yzone_id')) %>'  为什么读取不到yzone_id的值呢,下面的yzone_name都能读取,我想肯定是代码写错了,请大家帮我看看,怎么修改,先谢谢了!

解决方案 »

  1.   

    你这样即可
    <a href='editnews1.aspx?ID=<%# DataBinder.Eval(Container.DataItem,"yzone_id")%>'><%# DataBinder.Eval(Container.DataItem,"yzone_name") %>
    </a>
      

  2.   

    NavigateUrl='editnews1.aspx?ID=<%# DataBinder.Eval(Container.DataItem,"yzone_id") %>'>
      

  3.   

    那为什么在HYPERLINK控件里写就会出现错误呢!难道不能用它?
      

  4.   

    <asp:HyperLink ID="yzone_id" Runat="server" NavigateUrl="editnews1.aspx?ID='<%# ((int)DataBinder.Eval(Container.DataItem,"yzone_id")) %>'">或者
    int.Parse(DataBinder.Eval(Container.DataItem,"yzone_id")) )不好意思,没测试
      

  5.   

    这样写<asp:HyperLink ID="yzone_id" Runat="server" NavigateUrl='<%# editnews1.aspx?id=" + DataBinder.Eval(Container.DataItem,"yzone_id") %>'>
    ...
    </asp:HyperLink>
      

  6.   

    按照前三位朋友的方法使用hyperlink都报错,换成<a href='editnews1.aspx?ID=<%# DataBinder.Eval(Container.DataItem,"yzone_id")%>'><%# DataBinder.Eval(Container.DataItem,"yzone_name") %>
    </a>
    的就正常了!可我还是希望用hyperlink来实现!请大家再帮忙看看!
      

  7.   

    NavigateUrl='<%# "editnews1.aspx?ID=" + DataBinder.Eval(Container.DataItem,"yzone_name") %>'你用这个吧
      

  8.   

    <asp:HyperLink ID="yzone_id" Runat="server" NavigateUrl='<%#"editnews1.aspx?id=" + DataBinder.Eval(Container.DataItem,"yzone_id")%>'><%#DataBinder.Eval(Container.DataItem,"yzone_name")%></asp:HyperLink>