看到BI上常有人问这样的问题,其实呢,解决的方法很简单
在asp中你可以用数组去解决
在.Net中你可以用List类或Quere类来解决
这里用.net来实现,其实也就是这个blog后台管理中的一个附件管理功能
因为是用文件操作,所以需要导入System.Io

public partial class FileBowser : System.Web.UI.Page
{
    
    int _page = 1;   //设置当前页码为第1页
    string _capture_string = "";   //用来存储主体的图片代码
    int _pagesize = 30;   //每页显示的图片数
    string _uploadPath = ConfigurationManager.AppSettings["UploadImagePhysicsDirectory"];  //文件夹的实路径
    string _uploads = ConfigurationManager.AppSettings["Uploads"];   //虚路径
    List<FileInfo> sl = new List<FileInfo>();  //.net 2.0中的泛类型,主要靠它了
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.QueryString["page"] != null)
            _page = Int16.Parse(Request.QueryString["page"]);
        getFiles();
    }

    private void getFiles()
    {
        DirectoryInfo di = new DirectoryInfo(_uploadPath);  
        foreach (FileInfo fi in di.GetFiles())   //遍历当前目录下的所有文件,并添加至sl变量中
        {
                    sl.Add(fi);
        }
        int index = 0;
        int _startRecord = (_page-1) * _pagesize;  //计算起始数
        if (sl.Count > 0)
        {
            //计算总页数
            int _pagecount = sl.Count % _pagesize == 0 ? sl.Count / _pagesize : sl.Count / _pagesize + 1;
          
            for (int i = _startRecord; i < _startRecord+_pagesize; i++)
            {
                if (index % 6 == 0) _capture_string += "<tr>";
                _capture_string += string.Format("<td align=\"center\"><img src=\"../zh-cn/{0}/{1}\"", _uploads, sl[i].Name);
                if (index % 6 == 5) _capture_string += "</tr>";
                
                index++;
                if (i >= (sl.Count-1)) break;
                
            }
            int quot = index % 6;
            if (quot > 0)
            {
                for (; quot < 6; quot++) _capture_string += @"<td ></td>";
                _capture_string += "</tr>";
            }
            
            
        }
        else
        {
            _capture_string += "<tr><td>没有任何附件</td></tr>";
        }
    }
    protected string getUploads()
    {
        return _capture_string;
    }
    
}

前台用getUploads()方法即可得到分页,当然,分页的序号这里没有给出,留给大家了

Write a comment:



(将显示你的Gravatar图标)  



[b][/b] - [i][/i] - [u][/u]- [quote][/quote]

:-/ ^_^ :d :o :kiss: :) :p :se: [yeah] :( :love: :han: :up: :cry: :zzz: o_o

评论提交有问题?