zoukankan      html  css  js  c++  java
  • WAP中图像列表的设计

      在ASP.net中设计WAP时,发现没有ImageList控件,只得自己设计了。设计时主要使用Image和LINK控件。我做成了一个用户控件PicList.ascx。界面如下:

    最上面为Panel控件,用于显示图像列表,下面有“上页”和“下页”以及可以选择到某一页。
    --wap.joymo.cn
    代码如下:
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.Mobile;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.MobileControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    using System.Configuration;

    //  内容来自wap.joymo.cn
    //  作者:freemobile

    namespace joymo
    {
        public partial class usercontrol_PicList : System.Web.UI.MobileControls.MobileUserControl
        {
            public DataTable PicData; // 由调用控件的页面赋值
            private int _pageSize = 0;
            private int _pageCount = 0;

            protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack && PicData != null)
                {
                    try
                    {
                    GetSelectPage(Math.Abs(Convert.ToInt32(Request.QueryString["page"])));
                    }
                    catch(Exception ex)
                    {}
                }
            }

            // 显示相应页数的页面 -- wap.joymo.cn
            protected void GetSelectPage(int page)
            {
                _pageSize = Convert.ToInt32(ConfigurationManager.AppSettings["PicPageSize"]); // 每页的条数

                if (PicData != null && PicData.Rows.Count > 0)
                {
                    int itemCount = PicData.Rows.Count;

                    _pageCount = 0;
                    if(itemCount%_pageSize != 0)
                        _pageCount = itemCount / _pageSize + 1;
                    else
                        _pageCount = itemCount / _pageSize;

                    int startID = page * _pageSize;
                    if (startID >= itemCount)
                        startID = (_pageCount - 1) * _pageSize;

                    int endID = startID +  _pageSize;

                    for (int i = startID; i < (itemCount>endID?endID:itemCount); i++)
                    {
                        System.Web.UI.MobileControls.Image img = new System.Web.UI.MobileControls.Image();
                        img.ImageUrl = (string)PicData.Rows[i][0]; // 缩略图片
                        img.NavigateUrl = (string)PicData.Rows[i][1]; // 实际图片位置
                        img.BreakAfter = false;
                        Panel1.Controls.Add(img);

                        Link linkMemo = new Link();
                        linkMemo.Text = (string)PicData.Rows[i][2]; // 图片描述
                        linkMemo.NavigateUrl = (string)PicData.Rows[i][1];
                        Panel1.Controls.Add(linkMemo);
                    }

                    if (page == 0)
                    {
                        LinkPre.NavigateUrl = Page.Request.FilePath + "?page=0"; // "上页"链接
                        LinkNext.NavigateUrl = Page.Request.FilePath + "?page=0"; // "下页"链接
                    }
                    else
                    {
                        LinkPre.NavigateUrl = Page.Request.FilePath + "?page=" + (page - 1);
                        LinkNext.NavigateUrl = Page.Request.FilePath + "?page=" + (page + 1);
                    }

                    LabPage.Text = "共" + _pageCount + "页->第" + (page + 1) + "页";
                }
            }
            protected void CmdGo_Click(object sender, EventArgs e)
            {
                 try
                 {
                ((MobilePage)Page).RedirectToMobilePage(Request.FilePath + "?page=" + Math.Abs(Convert.ToInt32(TextBox1.Text)-1));
                 }
                 catch(Exception ex)
                 {}
            }
    }
    }
    最终的执行效果如下:




  • 相关阅读:
    深度学习原理与框架-神经网络-线性回归与神经网络的效果对比 1.np.c_[将数据进行合并] 2.np.linspace(将数据拆成n等分) 3.np.meshgrid(将一维数据表示为二维的维度) 4.plt.contourf(画出等高线图,画算法边界)
    深度学习原理与框架-神经网络-cifar10分类(代码) 1.np.concatenate(进行数据串接) 2.np.hstack(将数据横着排列) 3.hasattr(判断.py文件的函数是否存在) 4.reshape(维度重构) 5.tanspose(维度位置变化) 6.pickle.load(f文件读入) 7.np.argmax(获得最大值索引) 8.np.maximum(阈值比较)
    深度学习原理与框架-神经网络架构 1.神经网络构架 2.激活函数(sigmoid和relu) 3.图片预处理(减去均值和除标准差) 4.dropout(防止过拟合操作)
    Linux执行命令unable to create new native thread问题
    ElasticSearch的备份迁移方案
    Mycat高可用集群搭建
    Mogodb集群搭建
    SparkStreaming和Drools结合的HelloWord版
    Drools的HelloWord例子
    Drools环境搭建
  • 原文地址:https://www.cnblogs.com/freemobile/p/575062.html
Copyright © 2011-2022 走看看