不能这样写吗?NavigateUrl=article_view.aspx?id=<%# DataBinder.Eval(Container.DataItem,"id") %>表是说服务器标记的格式不正确

解决方案 »

  1.   

    NavigateUrl='article_view.aspx?id= <%#   DataBinder.Eval(Container.DataItem,"id")   %>' 
    单引号包围
      

  2.   

    不行啊,点上去是
    http://localhost/fan/article_view.aspx?id=<%# DataBinder.Eval(Container.DataItem,"id")%>
      

  3.   

    正常是不会的,如
            <asp:DataList ID="DataList1" runat="server">
                <ItemTemplate>
                    <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%#Eval("price") %>'>HyperLink</asp:HyperLink>
                </ItemTemplate>
            </asp:DataList>
      

  4.   


    NavigateUrl=' <%# “article_view.aspx?id=” + DataBinder.Eval(Container.DataItem,"id") %> '
      

  5.   

    直接Eval("id")就行了,整那么多,看着都烦
      

  6.   

    1.1好象是不可以直接eval的,就是要那么长呀。
      

  7.   

    NavigateUrl='<%# Eval("id", "article_view.aspx?id={0}") %>'
      

  8.   

    1楼的是错误的!!!NavigateUrl=' <%#   Eval("id",   "article_view.aspx?id={0}")   %> '
    //建议用上面的!
    NavigateUrl=' <%# "article_view.aspx?id=" + DataBinder.Eval(Container.DataItem,"id") %> '
      

  9.   

    参考 此帖
    http://topic.csdn.net/u/20080119/23/80b52b47-ae6b-4b4e-8700-eb3420843af6.html
    在运行时计算数据绑定表达式。   命名空间:System.Web.UI 
    程序集:System.Web(在   system.web.dll   中) 语法 
    C#   
    public   static   Object   Eval   ( 
    Object   container, 
    string   expression 
    ) 参数 
    container 
    表达式根据其进行计算的对象引用。此标识符必须是以页的指定语言表示的有效对象标识符。   expression 
    从   container   到要放置在绑定控件属性中的公共属性值的导航路径。此路径必须是以点分隔的属性或字段名称字符串,如   C#   中的   "Tables[0].DefaultView.[0].Price"   或   Visual   Basic   中的   "Tables(0).DefaultView.(0).Price"。   
    返回值 
    Object,它是数据绑定表达式的计算结果。   
    备注 
    expression   参数值的计算结果必须为公共属性。   尽管当您在应用程序快速开发   (RAD)   设计器(如   Visual   Studio)中创建数据绑定时会自动调用此方法,但如果希望简化到要在浏览器上显示的文本字符串的转换操作,则还可以以声明方式使用此方法。为此,必须将   <%#   和   %>   标记放在数据绑定表达式的两头;这些标记也用于标准   ASP.NET   数据绑定。 当数据绑定到模板列表中的控件时,此方法尤其有用。 警告   
    由于此方法在运行时使用反射执行后期绑定计算,因此与标准   ASP.NET   数据绑定语法相比,它会导致性能明显下降。 
      对于所有的列表   Web   控件,如   DataList、DataGrid   或   Repeater,container   参数值均应为   "Container.DataItem"。如果要对页进行绑定,则   container   参数值应为   "Page"。 
    =========================