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 UUN;
using System.Data.SqlClient;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;

public partial class Admin_NeiRong_WenZhangCaiJi_LanMu_KeShi : System.Web.UI.Page
{
    private 访问 访问;
    protected int 网站ID;
    protected String 网站名称;
    protected new int ID;
    protected String 栏目名称;
    protected Hashtable 采集栏目;
    protected String 列表地址;
    protected void Page_Load(object sender, EventArgs e)
    {
        访问 = new 访问(this.Context);
        访问.开始处理("可视采集文章", "网站后台", "可视采集文章", new 访问.回调委托(ZhiXing));
        访问.关闭连接();
    }

    private void ZhiXing()
    {
        访问.验证管理员();
        ID = Convert.ToInt32(Request.QueryString["ID"]);
        采集栏目 = 常用.SQL_获取(new SqlCommand("SELECT * FROM [" + 程序.数据表前缀 + "内容_文章采集_栏目] WHERE [ID]=" + ID, 访问.连接));

        if (采集栏目 == null)
            throw new Exception("采集栏目不存在");

        栏目名称 = Convert.ToString(采集栏目["栏目名称"]);

        Hashtable 采集网站 = 常用.SQL_获取(new SqlCommand("SELECT * FROM [" + 程序.数据表前缀 + "内容_文章采集_网站] WHERE [ID]=" + 采集栏目["所属网站"], 访问.连接));

        if (采集网站 == null)
            throw new Exception("采集网站不存在");

        网站ID = Convert.ToInt32(采集网站["ID"]);
        网站名称 = Convert.ToString(采集网站["网站名称"]);
        int 当前页=Convert.ToInt32(Request.QueryString["page"]);
        if(当前页==0)
            当前页=1;

        列表地址 = Request.QueryString["url"];

        if (列表地址 == null)
            列表地址 = 采集栏目["开始列表地址"].ToString();

        文章采集 文章采集 = new 文章采集(this.Context, 访问.连接, 网站ID);
        String 网页内容=文章采集.获取网页内容(列表地址);
        Hashtable 标题地址;
        文章采集.获取标题和地址(列表地址, 网页内容,
            Convert.ToBoolean(采集栏目["标题和地址_是否通配符"]),
            Convert.ToString(采集栏目["标题和地址_表达式"]),
            out 标题地址);

        String 上页地址 = 文章采集.获取上页地址(列表地址, 网页内容,
            Convert.ToBoolean(采集栏目["上页地址_是否通配符"]),
            Convert.ToString(采集栏目["上页地址_表达式"]),
            (当前页 - 1));

        String 下页地址 = 文章采集.获取下页地址(列表地址, 网页内容,
            Convert.ToBoolean(采集栏目["下页地址_是否通配符"]),
            Convert.ToString(采集栏目["下页地址_表达式"]),
            (当前页 + 1));

        String 总页数 = 文章采集.获取总页数(网页内容,
            Convert.ToBoolean(采集栏目["总页数_是否通配符"]),
            Convert.ToString(采集栏目["总页数_表达式"]));

        DataTable 数据表 = new DataTable("采集内容");

        数据表.Columns.Add("序号", typeof(int));
        数据表.Columns.Add("标题", typeof(String));
        数据表.Columns.Add("地址", typeof(String));

        int i = 1;
        foreach (int 键 in 标题地址.Keys)
        {
            String[] 数组 = (String[])标题地址[键];
            DataRow 行 = 数据表.NewRow();
            行["序号"] = i;
            行["标题"] = 数组[1];
            行["地址"] = 数组[0];
            数据表.Rows.Add(行);
            i++;
        }

        GridView1.DataSource = 数据表;
        GridView1.DataBind();

        String 分页代码 = "";
        分页代码 = "第" + 当前页 + "页，共" + 总页数 + "页 ";
        if (上页地址 == "")
            分页代码 += "上一页 ";
        else
            分页代码 += "<a href=\"WenZhangCaiJi_LanMu_KeShi.aspx?ID=" + ID + "&page=" + (当前页 - 1) + "&url=" + Server.UrlEncode(上页地址) + "\">上一页</a> ";
        if (下页地址 == "")
            分页代码 += "下一页 ";
        else
            分页代码 += "<a href=\"WenZhangCaiJi_LanMu_KeShi.aspx?ID=" + ID + "&page=" + (当前页 + 1) + "&url=" + Server.UrlEncode(下页地址) + "\">下一页</a> ";

        CaoZuoDaiMa.Text = "<a href=\"#\" onclick=\"if(HuoQuZhi('d')!=''){window.open('WenZhangCaiJi_LanMu_PiRuKu.aspx?url=" + Server.UrlEncode(列表地址) + "&ID=" + ID + "&WID='+HuoQuZhi('d'),'_blank','width=600,height=600,scrollbars=yes');}return false;\">批量入库</a>";

        Label1.Text = 分页代码;
    }
}
