using System;
using System.Data;
using System.Configuration;
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;public partial class _Default : Sper.baseuser
{
    public string strpics = "";
    public string strlinks = "";
    public string strtitles = "";
    public DataTable dtc;
//    public datatable dt; 是定义一个datatable
//public datatable dt(){} 是定义一个以datatable类型为返回值的方法
    protected override void Page_Load(object sender, EventArgs e)//此方法通知服务器控件在保存视图状态和呈现内容之前,执行任何必要的预呈现步骤。   
  //是在控件预呈现时触发的事件,也是程序可以改变输出内容的最后机会,过了这个事件要输出到客户端的内容就确定了
    {
        base.Page_Load(sender, e);
        if (!IsPostBack)
        {
            bindC();
            bindv();
        }
    }
    void bindC()
    {
        string sql = "select * from news_class where cparentid=20"
                  + ";select top 10 id,title,dtt from news where titleimg='' and property=1 order by id desc"
                  + ";select top 5 id,title,titleImg from news where titleimg<>'' and property=1 order by id desc";
        DataSet ds = DbHelperSQL.Query(sql);//SQLQuerry方法返回一个DataSet
        //this.Repeater1.DataSource = ds.Tables[0];
        //this.Repeater1.DataBind();        this.RepeaterTopNews.DataSource = ds.Tables[1];
        this.RepeaterTopNews.DataBind();
        for (int i = 0; i < ds.Tables[2].Rows.Count; i++)
        {
            strpics += ds.Tables[2].Rows[i]["titleimg"];
            if (i < 4) { strpics += "|"; }
            strlinks += "news_shows.aspx?Nid=" + ds.Tables[2].Rows[i]["id"] + "|";
            strtitles += ds.Tables[2].Rows[i]["title"] + "|";
        }        //this.Repeater2.DataSource = ds.Tables[2];
        //this.Repeater2.DataBind();
        //this.DataListimg.DataSource = DbHelperSQL.Query("select top 5 id,title,titleimg from news where titleimg<>'' order by id desc");
        //this.DataListimg.DataBind();
    }
    public string reurl(string str, string str2)
    {
        if (str == "")
        { return "news_list.aspx?Cid=" + str2; }
        else { return str; }
    }
    void bindv()
    {
        Sper.Data.news_class bll = new Sper.Data.news_class();
        dtc = bll.GetList(" ").Tables[0];
        this.DataList1.DataSource = bll.GetList(" cparentid=0 order by corder").Tables[0];
        this.DataList1.DataBind();
    }
    protected void DataList1_ItemDataBound(Object send, DataListItemEventArgs e)
    {
        DataList dgTmp = (System.Web.UI.WebControls.DataList)e.Item.FindControl("ListSmall");
        int iPageIdx = DataList1.Items.Count;        HtmlInputHidden myid = (HtmlInputHidden)e.Item.FindControl("myid");
        string csid = myid.Value;
        cid(csid);
        string sw = "";
        string[] scary = cids.Split(',');
  //      a="1,2,3"   
  //b=split(a,",")   
  //那么   
    
  //b(0)=1   
  //b(1)=2   
  //b(2)=3
        //Response.Write(cids);        if (scary.Length > 0)
        {
            sw = "where ";
            for (int i = 0; i < scary.Length - 1; i++)
            {                if (i == scary.Length - 2)
                { sw += " forclassid=" + scary[i]; }
                else
                { sw += " forclassid=" + scary[i] + " or"; }
            }
        }        string sql01 = "select top 6 * from news " + sw + " order by id desc";
        //Response.Write(sql01);
        //Response.End();
        dgTmp.DataSource = DbHelperSQL.Query(sql01);
        dgTmp.DataBind();
        //Response.Write(dtc.Rows.Count);    }
    public string cids = "";
    public void cid(string pid)
    {
        cids = pid + ",";
        if (dtc.Rows.Count > 0)
        {
            DataRow[] rows = dtc.Select("CParentId='" + pid + "'", "id aSC");
            for (int i = 0; i < rows.Length; i++)
            {
                cids += rows[i]["id"].ToString() + ",";
                bindDropChildItem(rows[i]["id"].ToString());
                //Response.Write(rows[i]["id"].ToString());
            }
        }    }
    /// <summary>
    /// 绑定子节点
    /// </summary>
    /// <param Cname="d"></param>
    /// <param Cname="dt"></param>
    /// <param Cname="id"></param>
    /// <param Cname="length"></param>
    string c = "";    void bindDropChildItem(string id)
    {
        DataRow[] rows = dtc.Select("CParentId='" + id + "'", "id aSC");//取出id子节点进行绑定
        int u = 0;
        for (int i = 0; i < rows.Length; i++)
        {
            if (i == rows.Length - 1)
            {
                u = 1;
            }
            cids += rows[i]["id"].ToString() + ",";
            bindDropChildItem(rows[i]["id"].ToString());//空白数目加1
        }
    }
}