从商品页用户点击datalist图片跳转到商品详细信息页。显示用户点击的图片并分页 

解决方案 »

  1.   

    datalist里面有所有产品类型。但我点击某一个图片跳转到另一个页面显示并分页。
      

  2.   


    <table width="207" border="0" cellpadding="0" cellspacing="0">
                        <tr>
                          <td height="2"></td>
                        </tr>
                        <tr>
                          <td align="center" valign="middle" class="bk1"><myad11s:_myad1s id="_myad11s" runat="server"></myad11s:_myad1s></td>
                        </tr>
                  </table></td>
                  <td width="2" valign="top"></td>
                  <td width="690" valign="top">
      <asp:SqlDataSource ID="MySqlDS" runat="server"></asp:SqlDataSource>
      <table width="100%" border="0" cellpadding="0" cellspacing="0">
                        <tr>
                          <td height="1"></td>
                        </tr>
                        <tr>
                          <td><img src="images/index28.jpg" width="690" height="3" /></td>
                        </tr>
                        <tr>
                          <td valign="top" style="background-image:url(images/index29.jpg);"><table width="99%" border="0" align="center" cellpadding="0" cellspacing="0">
                              <tr>
                                <td height="28" style="background-image:url(images/index18.jpg);"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
                                    <tr>
                                      <td width="4%" align="center"><img src="images/index22.jpg" width="10" height="9" /></td>
                                      <td width="9%" align="center"><asp:Label ID="moinfo" runat=server></asp:Label>  </td>
                                      <td width="87%" align="right"><a href="#"></a></td>
                                    </tr>
                                </table></td>
                              </tr>
                              <tr>
                                <td valign="top">
        <asp:DataList ID="hh" RepeatColumns="4" runat="server">
    <ItemTemplate>
    <table width="25%" border="0" cellspacing="2" cellpadding="2">
                                  <tr>
                                    <td><table width="100%" border="0" align="center" cellpadding="2" cellspacing="2">
                                        <tr>
                                          <td width="30%" height="112" align="center" valign="middle">
                                          <a href="ProductInfo.aspx?Pid=<%# DataBinder.Eval(Container.DataItem, "proid") %>" class="y4" target="_blank">
                                          <img border="0" alt="<%# DataBinder.Eval(Container.DataItem, "pronames") %>" src="<%# DataBinder.Eval(Container.DataItem, "p1") %>" height="79"  /></a></td>
                                          <td width="70%" align="right" valign="bottom"><table width="101%" height="100" border="0" align="right" cellpadding="0" cellspacing="0">
                                            <tr>
                                              <td height="20" colspan="2" align="left" class="y4"><p><a href="ProductInfo.aspx?Pid=<%# DataBinder.Eval(Container.DataItem, "proid") %>" class="y4"  target="_blank"><%# DataBinder.Eval(Container.DataItem, "pronames") %>&nbsp;&nbsp;<%# DataBinder.Eval(Container.DataItem, "proname") %></a></p></td>
                                            </tr>
                                            <tr>
                                              <td width="48%" height="20" align="left">市场价:</td>
                                              <td width="52%" height="20" align="left" class="zi4"><s><%# Convert.ToInt32(DataBinder.Eval(Container.DataItem, "proprice")) %></s>元</td>
                                            </tr>
                                            <tr>
                                              <td height="20" align="left"><span class="zi3">超特价</span>:</td>
                                              <td height="20" align="left"><%# Convert.ToInt32(DataBinder.Eval(Container.DataItem, "superprice")) %>元</td>
                                            </tr>
                                            <tr>
                                              <td height="20" colspan="2" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
                                                  <tr>
                                                    <td width="25%" height="20" align="left"><img src="images/index32.jpg" width="24" height="17" /></td>
                                                    <td width="75%" height="20" align="center"><img src="images/index33.jpg" width="73" height="20" border="0" class="buttoncss" onClick="x3('<%# DataBinder.Eval(Container.DataItem, "proid") %>')" /></td>
                                                  </tr>
                                              </table></td>
                                            </tr>
                                          </table></td>
                                        </tr>
                                    </table></td>
                                  </tr>
                                </table>
    </ItemTemplate>
    </asp:DataList></td>
                              </tr>
                              <tr><td><asp:Label ID="pages" runat="server"></asp:Label> 共<asp:Label ID="PageCount" runat="server"></asp:Label>页,当前第<asp:Label ID="CurrentPage" runat="server"></asp:Label>页,
                              <asp:LinkButton ID="FirstPage" runat="server" Text="首页" OnClick="FirstPage_Click"></asp:LinkButton>&nbsp;<asp:LinkButton ID="LastPage" runat="server" Text="上一页" OnClick="LastPage_Click"></asp:LinkButton>
                               <asp:LinkButton ID="NextPage" runat="server" Text="下一页" OnClick="NextPage_Click"></asp:LinkButton>
                           <asp:LinkButton ID="EndPage" runat="server" Text="末页" OnClick="EndPage_Click"></asp:LinkButton> &nbsp;转到<asp:TextBox ID="ReturnPage" runat="server" Width="25" Height="22"></asp:TextBox><asp:Button ID="Go" runat="server" Text="GO" Height="22" OnClick="TurnToPage_Click" />
    </td></tr>
                          </table>
      

  3.   


    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Data.SqlClient;
    public partial class PMenu : System.Web.UI.Page
    {
    private static string SQLString = String.Empty;
        private PagedDataSource pg = null;
    protected void Page_Load(object sender, EventArgs e)
    {
    if (!Page.IsPostBack)
    {
                GetMoData();
    }
        }    #region 绑定数据
        protected void GetMoData()
    {
              string SQLString = "Select b.proid, b.proname, b.proprice, b.superprice, a.proname As pronames, b.p1 From programs As a Inner Join products As b On a.proid = b.prokid";        SqlConnection cnn = new SqlConnection(ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString);
            SqlDataAdapter ad = new SqlDataAdapter(SQLString, cnn);
            DataSet ds = new DataSet();
            ad.Fill(ds);
            pg=new PagedDataSource();
            pg.PageSize = 32;
            pg.AllowPaging = true;
            if (CurrrentPage2.Value != "")
            {
                pg.CurrentPageIndex = int.Parse(CurrrentPage2.Value);
            }
            pg.DataSource = ds.Tables[0].DefaultView;
            hh.DataSource = pg;
    hh.DataBind();
            PageCount.Text = pg.PageCount.ToString();
            CurrentPage.Text = (pg.CurrentPageIndex + 1).ToString();
            if (pg.CurrentPageIndex == 0)
            {
                FirstPage.Enabled = false;
            }
            else
            {
                FirstPage.Enabled = true;
            }
            if (pg.CurrentPageIndex == 0)
            {
                LastPage.Enabled = false;
            }
            else
            {
                LastPage.Enabled = true;
            }
            if (pg.CurrentPageIndex == pg.PageCount - 1)
            {
                NextPage.Enabled = false;
            }
            else
            {
                NextPage.Enabled = true;
            }
            if (pg.CurrentPageIndex == pg.PageCount - 1)
            {
                EndPage.Enabled = false;
            }
            else
            {
                EndPage.Enabled = true;
            }
            CurrrentPage2.Value = pg.CurrentPageIndex.ToString();
        }
        #endregion    #region 分页
        /// <summary>
        /// 首页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void FirstPage_Click(object sender, EventArgs e)
        {
            CurrrentPage2.Value = "0";
            GetMoData();
        }
        /// <summary>
        /// 上一页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void LastPage_Click(object sender, EventArgs e)
        {
            int Page1 = int.Parse(CurrrentPage2.Value);
            if (Page1 > 0)
            {
                CurrrentPage2.Value = (Page1 - 1).ToString();
                GetMoData();
            }
        }
        /// <summary>
        /// 下一页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void NextPage_Click(object sender, EventArgs e)
        {
            int Page1 = int.Parse(CurrrentPage2.Value);
            if (Page1 < int.Parse(PageCount.Text))
            {
                CurrrentPage2.Value = (Page1 + 1).ToString();
                GetMoData();
            }
        }
        /// <summary>
        /// 末页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void EndPage_Click(object sender, EventArgs e)
        {
            CurrrentPage2.Value = (int.Parse(PageCount.Text) - 1).ToString();
            GetMoData();
        }
        /// <summary>
        /// 转到第几页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void TurnToPage_Click(object sender, EventArgs e)
        {
            //判断是否正整数
            if (System.Text.RegularExpressions.Regex.IsMatch(ReturnPage.Text, @"^[1-9][0-9]*$"))
            {
                //判断输入的页码是否大于最大页
                if (int.Parse(ReturnPage.Text) > int.Parse(PageCount.Text))
                {
                    Response.Write("<script language='javascript'>alert('输入的页码过大!')</script>");
                }
                else
                {
                    CurrrentPage2.Value = (int.Parse(ReturnPage.Text) - 1).ToString();
                    GetMoData();
                }
            }
            else
            {
                Response.Write("<script language='javascript'>alert('请输入大于0的数字!')</script>");
            }
        }
        #endregion}
      

  4.   

    只要一张图片简单了,把这个图片的id传到这个页面,直接用datagrid或者gridview,
    这两者有自带的分页。
    然后根据图片id判断当前处于第几页
    也就是说图片id在这个DataTable里面处于第几个(rowindex)
    比如处于第十,则设置datagrid的CurrentPageIndex为10-1=9
      

  5.   

    或者不用数据绑定控件
    直接<img../>
    上一页下一页做成链接,这个连接只要包含上一个或者下一个图片的id的url参数即可
      

  6.   

    这个问题我解决了 代码已经给你看了 效果也演示给你了 小吴shit 给分!
      

  7.   

    这样比如你的图片id是ImageID
    则这个分页页面的参数url如下:
    image.aspx?ImageID=23
    ============================
    比如你点击了id为45的图片进入页面,则url为
    image.aspx?ImageID=45
    ==================
    首先你根据这个imageid=45取出id=45的图片进行显示
    然后上一页的sql如下:
    select top 1 * from image where imageid<45 order by imageid desc
    也就是取出比45小的所有id里面最大的id
    下一页如下:
    select top 1 * from image where imageid>45 order by imageid
    也就是取出比45大的所有id里面最小的id
    =============================
    然后两个HyperLink
    <asp:HyperLink ID="hyPrev" NavigateUrl="image.aspx?imageid=<%=LastImageID %>" Text="上一页"></asp:HyperLink>
            <asp:HyperLink ID="hyNext" NavigateUrl="image.aspx?imageid=<%=NextImageID %>" Text="下一页"></asp:HyperLink>
    ============
    ok,分页效果就出来了