公共类

using System;
using System.Data;
using System.Data.SqlClient;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Text;

namespace SJW.Common
{
 /// <summary>
 /// Comm 的摘要说明。
 /// </summary>
 public class Comm
 {
  /// <summary>
  /// 数据库连接字符串
  /// </summary>
        public static string STR_CONN = ConfigurationManager.ConnectionStrings["DB_SJW_ConnStr"].ConnectionString.ToString();
        public static string UpLoadPath = System.Configuration.ConfigurationManager.AppSettings["UpLoadPath"];
        public static long UpLoadMaxSize = Convert.ToInt64(System.Configuration.ConfigurationManager.AppSettings["UpLoadMaxSize"]);
        public static string UpLoadPathUser = System.Configuration.ConfigurationManager.AppSettings["UpLoadPathUser"];
        public static string UpLoadAD = System.Configuration.ConfigurationManager.AppSettings["UpLoadAD"];
        public static string UpLoadFileType = System.Configuration.ConfigurationManager.AppSettings["UpLoadFileType"];

  /// <summary>
  /// 数据库连接超时时间
  /// </summary>
  public static int timeOut = 600;

  /// <summary>
  /// 调用存储过程带返回DataSet方法
  /// </summary>
  /// <param name="Proc_Name">存储过程名</param>
  /// <param name="sc">存储过程参数集合</param>
  /// <returns>返回DataSet,出错则返回null</returns>
  public static DataSet Execute_Proc_Re_Ds(string Proc_Name,SqlParameter[] sp)
  {
   try
   {
    SqlConnection conn = new SqlConnection(Comm.STR_CONN);
    SqlCommand cmd = new SqlCommand(Proc_Name,conn);
    cmd.CommandTimeout = timeOut;
    cmd.CommandType = CommandType.StoredProcedure;
    for(int i=0;i<sp.Length;i++)
    {
     cmd.Parameters.Add(sp[i]);
    }
    SqlDataAdapter ad = new SqlDataAdapter(cmd);
    DataSet ds = new DataSet();
    ad.Fill(ds);
    conn.Dispose();
    cmd.Dispose();
    ad.Dispose();
    return ds;
   }
   catch(Exception ex)
   {
    string str = ex.Message;
    return null;
   }
  }
    
       
  /// <summary>
  /// 调用存储过程,返回是否成功
  /// </summary>
  /// <param name="Proc_Name">存储过程名</param>
  /// <param name="sc">存储过程参数集合</param>
  /// <returns>返回是否执行成功</returns>
  public static bool Execute_Proc_Re_Bool(string Proc_Name,SqlParameter[] sp)
  {
   try
   {
    SqlConnection conn = new SqlConnection(Comm.STR_CONN);
    SqlCommand cmd = new SqlCommand(Proc_Name,conn);
    cmd.CommandTimeout = timeOut;
    cmd.CommandType = CommandType.StoredProcedure;
    for(int i=0;i<sp.Length;i++)
    {
     cmd.Parameters.Add(sp[i]);
    }
    conn.Open();
    cmd.ExecuteNonQuery();
    conn.Close();
    conn.Dispose();
    cmd.Dispose();
    return true;
   }
   catch(Exception ex)
   {
    string s = ex.Message;
    return false;
   }
  }

  /// <summary>
  /// 执行不带返回值的SqlCommand
  /// </summary>
  /// <param name="cmd">要执行的SqlCommand</param>
  /// <returns>返回的DataSet,出错返回null</returns>
  public static bool Execute_SqlCommand_Re_Bool(SqlCommand cmd)
  {
   try
   {
    SqlConnection conn = new SqlConnection(Comm.STR_CONN);
    cmd.CommandTimeout = timeOut;
    cmd.Connection = conn;
    conn.Open();
    cmd.ExecuteNonQuery();
    conn.Close();
    conn.Dispose();
    cmd.Dispose();
    return true;
   }
   catch
   {
    return false;
   }
  }

  /// <summary>
  /// 执行SQL字符串,返回DataSet
  /// </summary>
  /// <param name="sql">要执行的Sql字符串</param>
  /// <returns>返回的DataSet</returns>
  public static DataSet Execute_strSql_Re_Ds(string sql)
  {
       try
   {
    SqlConnection conn = new SqlConnection(Comm.STR_CONN);
    DataSet ds = new DataSet();
    SqlDataAdapter ad = new SqlDataAdapter(sql,conn);
    ad.SelectCommand.CommandTimeout = timeOut;
    ad.Fill(ds);
    
    conn.Dispose();
    ad.Dispose();
              
                    return ds;
             
   }
   catch
   {
    return null;
   }
  }
        //=================
        public static string Execute_strSql_Re_int(string sql,string TableName)
        {
            try
            {
                SqlConnection conn = new SqlConnection(Comm.STR_CONN);
                DataSet ds = new DataSet();
                SqlDataAdapter ad = new SqlDataAdapter(sql, conn);
                ad.SelectCommand.CommandTimeout = timeOut;
                ad.Fill(ds);
                ad.Dispose();

                DataSet dds = new DataSet();
                string sqlstr = "select Max(F_ID) from " + TableName;
                SqlDataAdapter aad = new SqlDataAdapter(sqlstr,conn);
                aad.SelectCommand.CommandTimeout = timeOut;
                aad.Fill(dds);
                conn.Dispose();
                aad.Dispose();
                return dds.Tables[0].Rows[0][0].ToString();
            }
            catch
            {
                return "-1";
            }
        }

 

  /// <summary>
  /// 执行SQL字符串,返回DataTable
  /// </summary>
  /// <param name="sql">要执行的Sql字符串</param>
  /// <returns>返回的DataTable</returns>
  public static DataTable Execute_strSql_Re_Dt(string sql)
  {
   try
   {
    SqlConnection conn = new SqlConnection(Comm.STR_CONN);
    DataTable dt = new DataTable();
    SqlDataAdapter ad = new SqlDataAdapter(sql,conn);
    ad.SelectCommand.CommandTimeout = timeOut;
    ad.Fill(dt);
    conn.Dispose();
    ad.Dispose();
    return dt;
   }
   catch
   {
    return null;
   }
  }

  /// <summary>
  /// 执行SQL语句,返回是否成功
  /// </summary>
  /// <param name="sql">要执行的SQL字符串</param>
  /// <returns>是否成功</returns>
  public static bool Execute_strSql_Re_Bool(string sql)
  {
   try
   {
    SqlConnection conn = new SqlConnection(Comm.STR_CONN);
    SqlCommand cmd = new SqlCommand(sql,conn);
    cmd.CommandTimeout = timeOut;
    conn.Open();
    cmd.ExecuteNonQuery();
    conn.Close();
    conn.Dispose();
    cmd.Dispose();
    return true;
   }
   catch
   {
    return false;
   }
  }

  /// <summary>
  /// 执行SqlCommand返回DataSet
  /// </summary>
  /// <param name="cmd">要执行的SqlCommand</param>
  /// <returns>返回的DataSet,出错返回null</returns>
  public static DataSet Execute_Sql_Re_Ds(SqlCommand cmd)
  {
   try
   {
    SqlConnection conn = new SqlConnection(Comm.STR_CONN);
    cmd.Connection = conn;
    DataSet ds = new DataSet();
    SqlDataAdapter ad = new SqlDataAdapter(cmd);
    ad.SelectCommand.CommandTimeout = timeOut;
    ad.Fill(ds);
    conn.Dispose();
    ad.Dispose();
                if (ds.Tables[0].Rows[0][0].ToString() != "")
                {
                    return ds;
                }
                else
                {
                    return null;
                }
   }
   catch
   {
    return null;
   }
  }

  /// <summary>
  /// 绑定DropDownList方法
  /// </summary>
  /// <param name="ddl">要绑定的DropDownList</param>
  /// <param name="ds">DataSet数据源</param>
  /// <param name="str_Text">DataTable中设为文本的字段名</param>
  /// <param name="str_Value">DataTable中设为值得字段名</param>
  public static void DropDownListBind(ref System.Web.UI.WebControls.DropDownList ddl,DataTable dt,string str_Text,string str_Value)
  {
   ddl.DataTextField = str_Text;
   ddl.DataValueField = str_Value;
   ddl.DataSource = dt;
   ddl.DataBind();
   ddl.Items.Insert(0,new System.Web.UI.WebControls.ListItem("",""));
  }

  /// <summary>
  /// 绑定DropDownList方法
  /// </summary>
  /// <param name="ddl">要绑定的DropDownList</param>
  /// <param name="ds">DataSet数据源</param>
  /// <param name="str_Text">DataTable中设为文本的字段名</param>
  /// <param name="str_Value">DataTable中设为值得字段名</param>
  /// <param name="blank_yn">是否显示空行</param>
  public static void DropDownListBind(ref System.Web.UI.WebControls.DropDownList ddl,DataTable dt,string str_Text,string str_Value,bool blank_yn)
  {
   ddl.DataTextField = str_Text;
   ddl.DataValueField = str_Value;
   ddl.DataSource = dt;
   ddl.DataBind();
   if(blank_yn)
   {
    ddl.Items.Insert(0,new System.Web.UI.WebControls.ListItem("",""));
   }
  }

  /// <summary>
  /// 执行SQL语句,返回第一行第一列
  /// </summary>
  /// <param name="str_sql">要执行的SQL</param>
  /// <returns></returns>
  public static object Execute_Sql_Re_Obj(string str_sql)
  {
   SqlConnection conn = new SqlConnection(STR_CONN);
   try
   {
    SqlCommand cmd = new SqlCommand(str_sql,conn);
    cmd.CommandTimeout = timeOut;
    conn.Open();
    object obj = cmd.ExecuteScalar();
    conn.Close();
    return obj;
   }
   catch
   {
    conn.Close();
    return null;
   }
  }

  /// <summary>
  /// 执行存储过程,返回第一行第一列
  /// </summary>
  /// <param name="str_sql">要执行的SQL</param>
  /// <returns></returns>
  public static object Execute_Proc_Re_Obj(string str_sql,SqlParameter[] sp)
  {
   SqlConnection conn = new SqlConnection(STR_CONN);
   try
   {
    SqlCommand cmd = new SqlCommand(str_sql,conn);
    cmd.CommandTimeout = timeOut;
    cmd.CommandType = CommandType.StoredProcedure;
    for(int i=0;i<sp.Length;i++)
    {
     cmd.Parameters.Add(sp[i]);
    }
    conn.Open();
    object obj = cmd.ExecuteScalar();
    conn.Close();
    return obj;
   }
   catch(Exception ex)
   {
    string s = ex.Message;
    conn.Close();
    return null;
   }
  }

  /// <summary>
  /// 字符串转换单引号
  /// </summary>
  /// <param name="str">要转换的字符串</param>
  /// <returns>转换过的字符串</returns>
  public static string Trans_String(string str)
  {
   str = str.Replace("'","'");
   str = str.Replace("<","&lt;");
   str = str.Replace(">","&gt;");
   return str;
  }

  /// <summary>
  /// C#事务方法
  /// </summary>
  /// <param name="sql">包含在事务中的SQL语句</param>
  /// <returns>是否成功</returns>
  public static bool Trancastion_Sql(string[] sql)
  {
   SqlConnection conn = new SqlConnection(STR_CONN);
   SqlCommand cmd = new SqlCommand();
   cmd.CommandTimeout = timeOut;
   cmd.Connection = conn;
   try
   {
    conn.Open();
    cmd.Transaction = conn.BeginTransaction();
   }
   catch
   {
    conn.Close();
    return false;
   }
   try
   {
    foreach(string str in sql)
    {
     if(str != null)
     {
      if(str.Trim() != "")
      {
       cmd.CommandText = str;
       cmd.ExecuteNonQuery();
      }
     }
    }

    cmd.Transaction.Commit();
    conn.Close();
    return true;
   }
   catch
   {
    
    cmd.Transaction.Rollback();
    conn.Close();
    return false;
   }
  }

  /// <summary>
  /// 选中DropDownList
  /// </summary>
  /// <param name="ddl"></param>
  /// <param name="selectedValue"></param>
  /// <returns></returns>
  public static void SetSelected(System.Web.UI.WebControls.DropDownList DropDownList1,string selectedValue)
  {
   for(int i=0;i<DropDownList1.Items.Count;i++)
   {
    DropDownList1.Items[i].Selected = false;
    if(DropDownList1.Items[i].Value==selectedValue.Trim())
    {
     DropDownList1.Items[i].Selected = true;
    }
   }
  }


  /// <summary>
  /// 邦定DropDownList
  /// </summary>
  /// <param name="objDs">DataSource</param>
  /// <param name="DropDownList1">DropDownList</param>
  /// <param name="DataTextField">DataTextField</param>
  /// <param name="DataValueField">DataValueField</param>
  /// <param name="isInsertItem">isInsertItem</param>
  public static void DataBind(DataSet objDs,System.Web.UI.WebControls.DropDownList DropDownList1,string DataTextField,string DataValueField,bool isInsertItem)
  {
   DropDownList1.DataSource = objDs;
   DropDownList1.DataTextField = DataTextField;
   DropDownList1.DataValueField = DataValueField;
   DropDownList1.DataBind();
   if(isInsertItem)
   {
    ListItem item = new ListItem("----- 请选择 -----","-1");
    DropDownList1.Items.Insert(0,item);
   }
  }


  /// <summary>
  /// 邦定DropDownList
  /// </summary>
  /// <param name="objDs">DataSource</param>
  /// <param name="DropDownList1">DropDownList</param>
  /// <param name="DataTextField">DataTextField</param>
  /// <param name="DataValueField">DataValueField</param>
  /// <param name="isInsertItem">isInsertItem</param>
  /// <param name="insertItemText">insertItemText</param>
  public static void DataBind(DataSet objDs,System.Web.UI.WebControls.DropDownList DropDownList1,string DataTextField,string DataValueField,bool isInsertItem,string insertItemText)
  {   
   DropDownList1.DataSource = objDs;
   DropDownList1.DataTextField = DataTextField;
   DropDownList1.DataValueField = DataValueField;
   DropDownList1.DataBind();
   if(isInsertItem)
   {
    ListItem item = new ListItem(insertItemText,"-1");
    DropDownList1.Items.Insert(0,item);
   }
  }


  /// <summary>
  /// 邦定DropDownList(重载)
  /// </summary>
  /// <param name="objDt"></param>
  /// <param name="DropDownList1"></param>
  /// <param name="DataTextField"></param>
  /// <param name="DataValueField"></param>
  /// <param name="isInsertItem"></param>
  public static void DataBind(DataTable objDt,System.Web.UI.WebControls.DropDownList DropDownList1,string DataTextField,string DataValueField,bool isInsertItem)
  {
   DropDownList1.DataSource = objDt;
   DropDownList1.DataTextField = DataTextField;
   DropDownList1.DataValueField = DataValueField;
   DropDownList1.DataBind();
   if(isInsertItem)
   {
    ListItem item = new ListItem("----- 请选择 -----","-1");
    DropDownList1.Items.Insert(0,item);
   }
  }

  public static void DataBind(System.Web.UI.WebControls.DropDownList DropDownList1,Int32 Num)
  {
   for(int i=1;i<=Num;i++)
   {
    ListItem item = new ListItem(i.ToString(),i.ToString());
    DropDownList1.Items.Add(item);
   }
  }

  public static bool IsValidFileType(string fileType)
  {
   string accFileType = Comm.UpLoadFileType;
   string[] aryaccFileType = accFileType.Split(',');
   for(int i=0;i<aryaccFileType.Length;i++)
   {
    if(aryaccFileType[i] == fileType.ToUpper())
    {
     return true;
    }
   }
   return false;
  }

  public static void NewLocation(string strMsg,string goUrl)
  {
   string strClientScript = "";
   strClientScript += "<Script>";
   strClientScript += "alert('"+strMsg+"');";
   strClientScript += "parent.location.href='"+goUrl+"';";
   strClientScript += "</Script>";

   System.Web.HttpContext.Current.Response.Write(strClientScript);
   System.Web.HttpContext.Current.Response.End();
  }
        public static void NewLocation(string strMsg,int step)
        {
            string strClientScript = "";
            strClientScript += "<Script>";
            strClientScript += "alert('" + strMsg + "');";
            //strClientScript += "parent.location.href='" + goUrl + "';";
            if (step == 1)
            {
                strClientScript += "history.go(-1);";
            }
            strClientScript += "</Script>";

            System.Web.HttpContext.Current.Response.Write(strClientScript);
            System.Web.HttpContext.Current.Response.End();
        }
        public static void NewLocation(string strMsg, string goUrl,bool CurrLevel)
        {
            string strClientScript = "";
            strClientScript += "<Script>";
            strClientScript += "alert('" + strMsg + "');";
            strClientScript += "location.href='" + goUrl + "';";
            strClientScript += "</Script>";

            System.Web.HttpContext.Current.Response.Write(strClientScript);
            System.Web.HttpContext.Current.Response.End();
        }


  public static void CheckSession(string level)
  {
   
   if(level == "Admin")
   {
    if(System.Web.HttpContext.Current.Session["Admin_User_ID"] == null)
    {
     Comm.NewLocation("非法会话","/admin/Login.aspx");
    }
   }
   if(level == "User")
   {
    if(System.Web.HttpContext.Current.Session["User_ID"] == null)
    {
     Comm.NewLocation("非法会话","/index.aspx");
    }
   }
  }

  public static string ProcString(string str)
  {
   string result = "";
   if(str != "")
   {
    result = str.Replace("/r/n","<br>");
   }
   return result;
  }

 

        public static void NewLocation(string p)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        /// <summary>
        /// 验证用户cookies
        /// </summary>
        /// <param name="level">用户的类型</param>
        /// admin  管理员
        /// username 会员
        public static void CheckCookies(string level)
        {

            if (level == "username")
            {

                if (System.Web.HttpContext.Current.Request.Cookies["username"] == null)
                {
                    // if (!Comm.Execute_Sql_Re_Obj("select F_ID from T_User where F_Username='" + System.Web.HttpContext.Current.Request.Cookies["username"].Value + "'collate Chinese_PRC_CS_AI"))

                    Comm.NewLocation("请先登录或注册", "/Login.aspx");
                }

            }
            else
            {
                if (System.Web.HttpContext.Current.Request.Cookies["admin"] == null)
                {
                    Comm.NewLocation("请先登陆或注册", "/Login.aspx");
                }
            }

        }
        public static void ClearCookies(string level)
        {
            try
            {
                if (level == "user")
                {
                    System.Web.HttpContext.Current.Response.Cookies["username"].Expires = DateTime.Now;
                    System.Web.HttpContext.Current.Response.Cookies["userid"].Expires = DateTime.Now;
                    System.Web.HttpContext.Current.Response.Cookies["userlevel"].Expires = DateTime.Now;

                }
                else
                {
                   
                }
            }
            catch
            { }
        }
        public static void CheckCompany()
        {
            CheckCookies("username");
            if (System.Web.HttpContext.Current.Request.Cookies["userid"] != null)
            {
                if( Convert.ToInt32(Comm.Execute_Sql_Re_Obj("select Count(*) from T_Company where F_UseID=" + System.Web.HttpContext.Current.Request.Cookies["userid"].Value))<=0)
                {
                    Comm.NewLocation("请先添加企业资料", "../User/CompanyEdit.aspx",true);
                   
                }
            }
        }
        public static string Pagination(string articleid,string strcontent, int ContentLen)
        {

            //定义变量  
            int i, BeginPoint, EndPoint, pages, Breakpoint, CurrentPage, pagecount, pagesize;
            string pa, articletext = "", contenttext, html = "";
            //int BeginPoint,EndPoint;
            //变量初始值  
            Breakpoint = 0;

            BeginPoint = 0;//开始查询的字符串位置,初始为0  
            EndPoint = 0;
            pagesize = ContentLen;//定义每页至少显示字符串数  
            pagecount = 0;

            //获得当前的页数  
         
            if (System.Web.HttpContext.Current.Request.Params["page"] == "" || System.Web.HttpContext.Current.Request.Params["page"] == null)
            { CurrentPage = 1; }
            else
            {

                CurrentPage = Convert.ToInt32(System.Web.HttpContext.Current.Request.Params["page"]);
            }

 

            //获得内容  
            contenttext = strcontent;

            //判断页面的内容长度是否大于定义的每页至少显示字符串数  
            if (contenttext.Length >= pagesize)//如果大于字符串数,则我们可以分页显示  
            {
                pages = contenttext.Length / pagesize;//获得大致的总页数  
                //根据目前获得的页数循环  
                for (i = 0; i <= pages; i++)
                {
                    //如果查询开始位置到查询的范围超出整个内容的长度,那么就不用寻找断点(分页点);反之,查找  
                    if (BeginPoint + pagesize < contenttext.Length)
                    {
                        Breakpoint = contenttext.IndexOf("<br />", BeginPoint + pagesize);//查找<br />分页点的位置
                        if (Breakpoint <= 0)//如果找不到  
                            Breakpoint = contenttext.IndexOf("<BR />", BeginPoint + pagesize);//查找<BR />分页点的位置;这里您可以自己设置分页点的判断  
                        if (Breakpoint <= 0)//如果找不到  
                            Breakpoint = contenttext.IndexOf("</P>", BeginPoint + pagesize);//查找</p>分页点的位置;这里您可以自己设置分页点的判断  
                        if (Breakpoint <= 0)//如果找不到  
                            Breakpoint = contenttext.IndexOf("</p>", BeginPoint + pagesize);//查找</p>分页点的位置;这里您可以自己设置分页点的判断  
                    }
                    if (Breakpoint <= 0)//如果找不到分页点,说明不能分页,也就不需要做其他的劳动了;否则,就进行分页  
                        articletext = contenttext;//将结果付给要导出的变量  
                    else
                    {
                        EndPoint = Breakpoint;//分页点的位置也就作为这一页的终点位置  
                        if (BeginPoint + pagesize >= contenttext.Length)//如果起始位置到查询的范围超出整个内容的长度,那么这一页的终点位置为内容的终点  
                            EndPoint = contenttext.Length;
                        if (CurrentPage == i + 1)//如果是当前,那么输出当前页的内容  
                            articletext = contenttext.Substring(BeginPoint, EndPoint - BeginPoint);//取内容的起始位置到终点位置这段字符串输出  
                        BeginPoint = Breakpoint;//将终点位置作为下一页的起始位置  
                        pagecount++;//获得实际页总数  
                    }
                }
            }
            else
            { articletext = contenttext; }
            if (pagecount > 1)
            {
                articletext += "<p>";
                for (i = 1; i <= pagecount; i++)
                {
                    if (i == CurrentPage)
                        articletext += "<b>[" + i + "]</b> ";
                    else
                        articletext += "<a href='?id=" + articleid + "&page=" + i + "'>[" + i + "]</a>";
                }

            }
            return articletext;

        }
        public static StringBuilder AutoPagination(string articleid, string strcontent, int ContentLen)
        {

            //定义变量  
            int i, BeginPoint, EndPoint, pages, Breakpoint, CurrentPage, pagecount, pagesize;
            string pa,  contenttext, html = "";
            StringBuilder articletext = new StringBuilder();
            //int BeginPoint,EndPoint;
            //变量初始值  
            Breakpoint = 0;

            BeginPoint = 0;//开始查询的字符串位置,初始为0  
            EndPoint = 0;
            pagesize = ContentLen;//定义每页至少显示字符串数  
            pagecount = 0;

            //获得当前的页数  

            if (System.Web.HttpContext.Current.Request.Params["page"] == "" || System.Web.HttpContext.Current.Request.Params["page"] == null)
            { CurrentPage = 1; }
            else
            {

                CurrentPage = Convert.ToInt32(System.Web.HttpContext.Current.Request.Params["page"]);
            }

 

            //获得内容  
            contenttext = strcontent;

            //判断页面的内容长度是否大于定义的每页至少显示字符串数  
            if (contenttext.Length >= pagesize)//如果大于字符串数,则我们可以分页显示  
            {
                pages = contenttext.Length / pagesize;//获得大致的总页数  
                //根据目前获得的页数循环  
                for (i = 0; i <= pages; i++)
                {
                    //如果查询开始位置到查询的范围超出整个内容的长度,那么就不用寻找断点(分页点);反之,查找  
                    if (BeginPoint + pagesize < contenttext.Length)
                    {
                        Breakpoint = contenttext.IndexOf("<br />", BeginPoint + pagesize);//查找<br />分页点的位置
                        if (Breakpoint <= 0)//如果找不到  
                            Breakpoint = contenttext.IndexOf("<BR />", BeginPoint + pagesize);//查找<BR />分页点的位置;这里您可以自己设置分页点的判断  
                        if (Breakpoint <= 0)//如果找不到  
                            Breakpoint = contenttext.IndexOf("</P>", BeginPoint + pagesize);//查找</p>分页点的位置;这里您可以自己设置分页点的判断  
                        if (Breakpoint <= 0)//如果找不到  
                            Breakpoint = contenttext.IndexOf("</p>", BeginPoint + pagesize);//查找</p>分页点的位置;这里您可以自己设置分页点的判断  
                    }
                    if (Breakpoint <= 0)//如果找不到分页点,说明不能分页,也就不需要做其他的劳动了;否则,就进行分页  
                    {
                        articletext.Remove(0, articletext.Length);
                        articletext.Append(contenttext);
                    }//将结果付给要导出的变量   
                    else
                    {
                        EndPoint = Breakpoint;//分页点的位置也就作为这一页的终点位置  
                        if (BeginPoint + pagesize >= contenttext.Length)//如果起始位置到查询的范围超出整个内容的长度,那么这一页的终点位置为内容的终点  
                            EndPoint = contenttext.Length;
                        if (CurrentPage == i + 1)//如果是当前,那么输出当前页的内容  
                        {
                            articletext.Remove(0, articletext.Length);
                            articletext.Append(contenttext.Substring(BeginPoint, EndPoint - BeginPoint));
                        }//取内容的起始位置到终点位置这段字符串输出    
                        BeginPoint = Breakpoint;//将终点位置作为下一页的起始位置  
                        pagecount++;//获得实际页总数  
                    }
                }
            }
            else
            { articletext.Append(contenttext); }
            if (pagecount > 1)
            {
                articletext.Append("<p>")  ;
                for (i = 1; i <= pagecount; i++)
                {
                    if (i == CurrentPage)
                        articletext.Append("<b>[" + i + "]</b> ");
                    else
                        articletext.Append("<a href='?id=" + articleid + "&page=" + i + "'>[" + i + "]</a>");
                }

            }
            return articletext;

        }
        public static string htmlstr(string chr)
        {
            if (chr == null&&chr=="")
                return "";
            chr = chr.Replace("<", "&lt;");
            chr = chr.Replace(">", "&gt;");
            chr = chr.Replace("/n", "<br>");
            chr = chr.Replace("/"", "&quot;");
            chr = chr.Replace("'", "&#39;");
            //chr = chr.Replace("   ", "&nbsp;");
            chr = chr.Replace("/r", "");
            return (chr);
        }
        public static string GetUniqueString()//定义时间格试,以后改图片名用
        {
            //得到的文件名形如:20050922101010
            return DateTime.Now.ToString("yyyyMMddhhmmss");
        }
        /// <summary>
        ///SQL注入过滤
        /// </summary>
        /// <param name="InText">要过滤的字符串</param>
        /// <returns>如果参数存在不安全字符,则返回true</returns>
        public static bool SqlFilter(string InText)
        {
            string word = "and|20%and20%|insert|select|delete|update|chr|mid| master |20%master20%|or|truncate|char|declare|join";
            //string word = "and|exec|insert|select|delete|update|chr|mid|master|or|truncate|char|declare|join";
            if (InText == null)
                return false;
            foreach (string i in word.Split('|'))
            {
                if ((InText.ToLower().IndexOf(i + " ") > -1) || (InText.ToLower().IndexOf(" " + i) > -1))
                {
                    return true;
                }
            }
            return false;
        }
    }
}
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很多,不写全了。。下载下来好好看 ----------Database-------------- 1.DataTable帮助(DataTableHelper.cs) 2.Access数据库文件操作辅助(JetAccessUtil.cs) 5.查询条件组合辅助(SearchCondition.cs) 6.查询信息实体(SearchInfo.cs) 8.Sql命令操作函数(可用于安装程序的时候数据库脚本执行)(SqlScriptHelper.cs) ----------Device-------------- 声音播放辅助(AudioHelper.cs) 摄像头操作辅助,包括开启、关闭、抓图、设置等功能(Camera.cs) 提供用于操作【剪切板】的方法(ClipboardHelper.cs) 获取电脑信息(Computer.cs) 提供用户硬件唯一信息的辅助(FingerprintHelper.cs) 读取指定盘符的硬盘序列号(HardwareInfoHelper.cs) 提供访问键盘当前状态的属性(KeyboardHelper.cs) 全局键盘钩子。这可以用来在全球范围内捕捉键盘输入。(KeyboardHook.cs) 模拟鼠标点击(MouseHelper.cs) 全局鼠标钩子。这可以用来在全球范围内捕获鼠标输入。(MouseHook.cs) MP3文件播放操作辅助(MP3Helper.cs) 关联文件(ExtensionAttachUtil.cs) 注册文件关联的辅助(FileAssociationsHelper.cs) 打开、保存文件对话框操作辅助(FileDialogHelper.cs) 常用的文件操作辅助FileUtil(FileUtil.cs) INI文件操作辅助(INIFileUtil.cs) 独立存储操作辅助(IsolatedStorageHelper.cs) 序列号操作辅助(Serializer.cs) 获取一个对象,它提供用于访问经常引用的目录的属性。(SpecialDirectories.cs) 简单的Word操作对象(WordCombineUtil.cs) 这个提供了一些实用的方法来转换XML和对象。(XmlConvertor.cs) XML操作(XmlHelper.cs) ----------Format-------------- 参数验证的通用验证程序。(ArgumentValidation.cs) 这个提供了实用方法的字节数组和图像之间的转换。(ByteImageConvertor.cs) byte字节数组操作辅助(BytesTools.cs) 处理数据型转换,数制转换、编码转换相关的(ConvertHelper.cs) CRC校验辅助(CRCUtils.cs) 枚举操作公共(EnumHelper.cs) 身份证操作辅助(IDCardHelper.cs) 检测字符编码的(IdentifyEncoding.cs) RGB颜色操作辅助(MyColors.cs) 日期操作(MyDateTime.cs) 转换人民币大小金额辅助(RMBUtil.cs) 常用的字符串常量(StringConstants.cs) 简要说明TextHelper。(StringUtil.cs) 获取文字首字拼写,随机发生器,按指定概率随机执行操作(Util.cs) 各种输入格式验证辅助(ValidateUtil.cs) ----------Network-------------- Cookie操作辅助(CookieManger.cs) FTP操作辅助(FTPHelper.cs) HTML操作(HttpHelper.cs) 网页抓取帮助(HttpWebRequestHelper.cs) Net(NetworkUtil.cs) IE代理设置辅助(ProxyHelper.cs) ----------Winform-------------- 跨线程的控件安全访问方式(CallCtrlWithThreadSafety.cs) CheckBoxList(CheckBoxListUtil.cs) 窗口管理(ChildWinManagement.cs) 由马丁·米勒http://msdn.microsoft.com/en-us/library/ms996492.aspx提供一个简单的方法打印工作的一个RichTextBox一个帮手(ExRichTextBoxPrintHelper.cs) 显示,隐藏或关闭动画形式。(FormAnimator.cs) 对窗体进行冻结、解冻操作辅助(FreezeWindowUtil.cs) 窗体全屏操作辅助(FullScreenHelper.cs) GDI操作辅助(GDI.cs) 提供静态方法来读取这两个文件夹和文件的系统图标。(IconReaderHelper.cs) 图片对象比较、缩放、缩略图、水印、压缩、转换、编码等操作辅助(ImageHelper.cs) 输入法帮助,全角 转换为半角(ImeHelper.cs) Winform提示框 的摘要说明。(MessageUtil.cs) 包含互操作方法调用的用程序使用。(NativeMethods.cs) 托盘图标辅助(NotifyIconHelper.cs) 打印机(POSPrinter.cs) 图片、光标、图标、位图等资源操作辅助(ResourceHelper.cs) RTF字符格式辅助(RTFUtility.cs) 串口开发辅助(SerialPortUtil.cs) 设置文本属性提供一个ToolStripStatusLabel(SafeToolStripLabel.cs) 只运行一个实例及系统自动启动辅助(StartupHelper.cs) Web页面预览效果图片抓取辅助(WebPageCapture.cs) 供Asp.Net直接调用的包装(WebPreview.cs) 计算机重启、关电源、注销、关闭显示器辅助(WindowsExitHelper.cs) 简单写了点,还有很多,希望能对大家有帮助 ================================================================================================ 本资料共包含以下附件: WHC.OrderWater.Commons.rar 公共文档.docx

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值