NavigateUrl='imagedetail.aspx?ID=<%#DataBinder.Eval(Container.DataItem,"id")%>'>问题出在这,连接后,绑定的数据不能解析,地址栏显示NavigateUrl='imagedetail.aspx?ID=<%#DataBinder.Eval(Container.DataItem,"id")%>'>,而不是NavigateUrl='imagedetail.aspx?ID=3
代码如下:<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data"%>
<%@ Import Namespace="System.Data.OleDb"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server"></script><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:DataList ID="DataList1" runat="server" CellSpacing="8" 
            RepeatColumns="4" RepeatDirection="Horizontal" DataSourceID="AccessDataSource1" DataKeyField="id">
            <ItemTemplate>
                <asp:Image ID="Image1" runat="server" Height="152px" ImageUrl='<%# Eval("name") %>'
                    Width="156px" /><br />
                &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='imagedetail.aspx?ID=<%#DataBinder.Eval(Container.DataItem,"id")%>'>详细</asp:HyperLink>
                &nbsp;
              
              
                
            </ItemTemplate>
        </asp:DataList><asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/student.mdb"
            SelectCommand="SELECT [name], [id] FROM [postimage] ORDER BY [time] DESC"></asp:AccessDataSource>
        </div>
    </form>
</body>
</html>

解决方案 »

  1.   

    NavigateUrl='<%# Eval("ID", "~/imagedetail.aspx?ID={0}") %>'
      

  2.   

    地址栏显示NavigateUrl='imagedetail.aspx?ID=<%#DataBinder.Eval(Container.DataItem,"id")%>'>注意'在=后
    地址栏显示NavigateUrl="imagedetail.aspx?ID='<%#DataBinder.Eval(Container.DataItem,"id")%>'">
      

  3.   

    数据源中是否存在id 列阿!!!或者写简单一点 <%Bind("id")%>
      

  4.   

    <a href='imagedetail.aspx?ID=<%#Eval("id")%>'>详细</a>
      

  5.   

    DataNavigateUrlFormatString='imagedetail.aspx?ID=<%# DataBinder.Eval(Container.DataItem,"id")%>'把NavigateUrl换成上面的看看
      

  6.   

    zjh222(zjh) ( ) 信誉:100    Blog   加为好友  2007-05-15 15:08:26  得分: 0  
     
     
       地址栏显示NavigateUrl='imagedetail.aspx?ID=<%#DataBinder.Eval(Container.DataItem,"id")%>'>注意'在=后
    地址栏显示NavigateUrl="imagedetail.aspx?ID='<%#DataBinder.Eval(Container.DataItem,"id")%>'">
      
     
    正解
      

  7.   

    或者
    NavigateUrl='<%# "NavigateUrl="+ Eval("ID") %>'
      

  8.   

    NavigateUrl='<%# "imagedetail.aspx?ID="+ Eval("ID") %>'
      

  9.   

    ID="HyperLink1" runat="server" NavigateUrl='<%#"imagedetail.aspx?ID=" + DataBinder.Eval(Container.DataItem,"id")%>'>详细</asp:HyperLink>
      

  10.   

    其实最好是用
    <a href='<%#"imagedetail.aspx?ID=" + DataBinder.Eval(Container.DataItem,"id")%>'>详细</a>