datalist内嵌与递归的后台代码

来源:互联网 发布:2016淘宝联盟导购推广 编辑:程序博客网 时间:2024/06/05 14:16

 protected void Page_Load(object sender, EventArgs e)
    {
        if (IsPostBack)
            return;
        BindReview(0);
    }
    UserReviewBLL userreviewbll = new UserReviewBLL();
    /// <summary>
    /// 绑定最底层留言
    /// </summary>
    private void BindReview(int i)
    {
        UserReviewModel model = new UserReviewModel();
        DataSet ds = new DataSet();
        model.USID = 1;
        model.URFID = 0;
        ds = userreviewbll.ListReview(model);
        if (ds != null)
        {
            //分页控制
            PagedDataSource pds = new PagedDataSource();
            pds.DataSource = ds.Tables[0].DefaultView;
            pds.AllowPaging = true;
            pds.PageSize = 5;
            pds.CurrentPageIndex = i;
            labCounter.Text = pds.PageCount.ToString();
            if (ddlCount.Items.Count <= 0)
            {
                for (int s = 1; s <=pds.PageCount; s++)
                {
                    ddlCount.Items.Add(s.ToString());
                }
                if (ddlCount.Items.Count == 1)
                    ddlCount.Enabled = false;
                else
                    ddlCount.Enabled = true;
            }
            labIndex.Text = i.ToString();
            dl1.DataSource = pds;
            dl1.DataBind();
            //按钮控制
            if (labIndex.Text == "0" && labCounter.Text == "1")
            {
                btnIndex.Enabled = false;
                btnUp.Enabled = false;
                btnNext.Enabled = false;
                btnEnd.Enabled = false;
            }
            else if (labIndex.Text == "0")
            {
                btnIndex.Enabled = false;
                btnUp.Enabled = false;
                btnNext.Enabled = true;
                btnEnd.Enabled = true;
            }
            else if ((Convert.ToInt32(labIndex.Text) + 1).ToString() == labCounter.Text)
            {
                btnIndex.Enabled = true;
                btnUp.Enabled = true;
                btnNext.Enabled = false;
                btnEnd.Enabled = false;
            }
            else
            {
                btnIndex.Enabled = true;
                btnUp.Enabled = true;
                btnNext.Enabled = true;
                btnEnd.Enabled = true;
            }
        }
    }
   
    protected void dl1_ItemDataBound(object sender, DataListItemEventArgs e)
    {
        int usid = 1;
        int urfid = Convert.ToInt32(dl1.DataKeys[e.Item.ItemIndex].ToString());
        BindSubdl(usid, urfid,e);
    }
    //public int id = 0;
    /// <summary>
    /// 内嵌的递归
    /// </summary>
    /// <param name="usid"></param>
    /// <param name="urfid"></param>
    private void BindSubdl(int usid, int urfid, DataListItemEventArgs e)
    {
        UserReviewModel model = new UserReviewModel();
        DataSet ds = new DataSet();
        model.USID = usid;
        model.URFID = urfid;
        ds = userreviewbll.ListReview(model);
        if (ds==null)
            return ;
        else
        {
            string img="<img src='"+"Photos//"+FindUHeadPic(ds.Tables[0].Rows[0]["UID"])+"'width='50px' height='50px'/>";
            string str = "<table style='margin-left: 20px'><tr><td align='left' rowspan='2' style='width: 100px; height: 71px;'>" + img + "<br/><a href=#>" +FindUNickName(ds.Tables[0].Rows[0]["UID"]) + "<a/><td/>" + "<td style='width: 100%; height: 71px;' align='left'>" + ds.Tables[0].Rows[0]["URContent"].ToString() + "<td/><tr/><table/>";
            Label lb=new Label();
            lb.Text=str;
            Panel pMain = (Panel)e.Item.FindControl("pMain");
            pMain.Controls.Add(lb);
            int id = Convert.ToInt32(ds.Tables[0].Rows[0]["URID"].ToString());
            HiddenField hdf = (HiddenField)e.Item.FindControl("HiddenField1");
            hdf.Value = id.ToString() ;
            BindSubdl(usid, id,e);
        }
    }
    UserInfosBLL userinfosbll = new UserInfosBLL();
    /// <summary>
    /// 功能:绑定昵称
    /// </summary>
    /// <param name="obj"></param>
    /// <returns></returns>
    public string FindUNickName(object obj)
    {
        UserInfosModel model = new UserInfosModel();
        model.UID = Convert.ToInt32(obj);
        string UNickName = userinfosbll.FindNickName(model);
        if (UNickName != null)
            return UNickName;
        else
            return "未知用户";
    }
    /// <summary>
    /// 功能:绑定头像
    /// </summary>
    /// <param name="obj"></param>
    /// <returns></returns>
    public string FindUHeadPic(object obj)
    {
        UserInfosModel model = new UserInfosModel();
        model.UID = Convert.ToInt32(obj);
        string UheadPic = userinfosbll.FindHeadPic(model);
        if (UheadPic != "")
            return UheadPic;
        else
            return "001.jpg";
    }
    protected void dl1_ItemCommand(object source, DataListCommandEventArgs e)
    {
        if (e.CommandName != "Click"&&e.CommandName!="Confirm"&&e.CommandName!="ReSet")
            return;
        if(e.CommandName=="Click")
        {
            Panel pl = (Panel)e.Item.FindControl("pResponsed");
            pl.Visible = true;
            return;
        }
        if (e.CommandName == "Confirm")
        {
            UserReviewModel model=new UserReviewModel();
            model.UID=1;
            model.USID=1;
            TextBox txtContent=(TextBox)e.Item.FindControl("txtContent");
            model.URContent=txtContent.Text.Trim();
            HiddenField hdf = (HiddenField)e.Item.FindControl("HiddenField1");

            if (hdf.Value == "")
                model.URFID =Convert.ToInt32(dl1.DataKeys[e.Item.ItemIndex].ToString());
            else
                model.URFID = Convert.ToInt32(hdf.Value);
            userreviewbll.AddReview(model);
            BindReview(0);
            return;
        }
        if (e.CommandName == "ReSet")
        {
            TextBox txtContent = (TextBox)e.Item.FindControl("txtContent");
            txtContent.Text = "";
            return;
        }
    }
    protected void ddlCount_SelectedIndexChanged(object sender, EventArgs e)
    {
        int i = ddlCount.SelectedIndex;
        BindReview(0);
    }
    protected void btnIndex_Click(object sender, EventArgs e)
    {
        BindReview(0);
    }
    protected void btnUp_Click(object sender, EventArgs e)
    {
        int i = Convert.ToInt32(labIndex.Text) - 1;
        BindReview(i);
    }
    protected void btnNext_Click(object sender, EventArgs e)
    {
        int i = Convert.ToInt32(labIndex.Text) + 1;
        BindReview(i);
    }
    protected void btnEnd_Click(object sender, EventArgs e)
    {
        int i = Convert.ToInt32(labCounter.Text) - 1;
        BindReview(i);
    }
    protected void btnAdd_Click(object sender, EventArgs e)
    {
        //if (Session["UAccount"] != null && Session["UAccount"].ToString != "")
        //{
            UserReviewModel model = new UserReviewModel();
            model.URFID = 0;
            //int i = FindUID(Session["UAccount"].ToString());
            model.UID = 1;
            model.URContent = txtContent.Text.Trim();
            model.USID = 1;
            int o=userreviewbll.AddReview(model);
            if (0 == 0)
                return;
            else
                //  BindReview(0);
                BindReview(0);
        //}
        //else
            //labMessage.Text = "您还没有登录,请先登录!";
    }
    /// <summary>
    /// 根据用户帐户查找用户编号
    /// </summary>
    /// <returns></returns>
    private int FindUID(string UAccount)
    {
        UserInfosModel model = new UserInfosModel();
       
        model.UAccount = Session["UAccount"].ToString();
        int uid = userinfosbll.FindUID(model);
        if (uid == 0)
             return 0;
        else
             return uid;
      
    }

原创粉丝点击