發布一個自己寫的企業站源碼


由於不善於排版和寫blog 可能會有點亂 各位勿拍磚

  因為項目前台是多變的所以本項目的主要方向在后台         

    前台是修改的別人模板(具體記不清在哪兒下的了 所以未放鏈接  如有看見請聯系本人 )

     主要采用技術 vs2008+sqlserver2005    輔助: ztree + codesimth +artdialog +kindeditor                

數據庫文件也附帶其中 (如用數據庫文件請在項目路徑 Admin-->Items-->UserList后台代碼中 BasePage改為繼承System.Web.UI.Page 運行該頁面為用戶添加權限 其它類似)BasePage用作權限判斷

  為了減少項目體積 所以刪除了部分圖片

本項目特點

     1、后台界面簡單 大方 容易操作
     2、代碼采用codesmith生成  生成代碼較為通用 可自己修改或制定適合自己的模板(如果需要帶向博主所要模板)
     3、網站前台考慮到SEO效果
     4、后台權限針對到功能(需判斷的權限在.aspx.cs繼承一個類即可  考慮到企業站管理員不多 所以權限針對用戶)
     5、提供項目文件在線管理(可通過config文件配置 可修改的文件后綴名)

  6、錯誤日志記錄功能 可讓你在線排查項目錯誤信息(錯誤日志記錄在 根目錄Log下)

 

codesimth 模板是自己搜集的還比較通用 沒有的方法自己寫上就可以了 先來看看我生成的一個dal類

  

using System;
using System.Data.SqlClient;
using System.Collections.Generic;
using Models;

namespace Service
{
    /// <summary>
    /// 本類由軟件生成生成
    /// 禁止修改
    /// 若需要擴展,請另建一個partial class完成。
    /// </summary>
    public class LinksService
    {
        
        /// <summary>
        /// 獲取所有記錄
        /// </summary>
        /// <returns></returns>
        public List<Links> GetAll()
        {
            string sql="select * from Links";
            return SqlHelper.GetList<Links>(sql);
        }
        /// <summary>
        /// 根據主鍵ID查詢單條記錄
        /// </summary>
        /// <param name="id">主鍵id</typeparam>
        /// <param name="reader"></param>
        /// <returns></returns>
        public Links GetById(int id)
        {
            string sql="select * from Links where ID=@id";
            SqlParameter spm=new SqlParameter("@id",id);
            return SqlHelper.GetSingle<Links>(sql,spm);
        }
        /// <summary>
        /// 按照分頁條件查詢記錄集
        /// </summary>
        /// <param name="startIndex">起始行號,從0開始</typeparam>
        /// <param name="count">需要查詢的記錄條數</param>
        /// <param name="sortColumn">排序列名,若要降序請用列名+" DESC",傳入空默認按照主鍵降序排列</param>
        /// <param name="links">查詢條件,若無此條件請保持該屬性默認值</typeparam>
        /// <returns></returns>
        public List<Links> GetByPage(int startIndex,int count,string sortColumn,Links links)
        {
            if(string.IsNullOrEmpty(sortColumn))
                sortColumn="ID DESC";
            string sql="exec proc_GetByPage @startIndex,@count,@order,@tableName,@pkName,@where";
            SqlParameter[] spms=new SqlParameter[]
            {
                new SqlParameter("@startIndex",startIndex),
                new SqlParameter("@count",count),
                new SqlParameter("@order",sortColumn),
                new SqlParameter("@tableName","Links"),
                new SqlParameter("@pkName","ID"),
                new SqlParameter("@where",GetConditions(links))
            };
            return SqlHelper.GetList<Links>(sql,spms);
        }
        /// <summary>
        /// 獲取記錄條數
        /// </summary>
        /// <param name="links">查詢條件,若無此條件請保持該屬性默認值</typeparam>
        /// <returns></returns>
        public int GetCount(Links links)
        {
            string sql="select count(*) from Links where 1=1"+GetConditions(links);
            return SqlHelper.GetCount(sql);
        }
        /// <summary>
        /// 生成查詢條件的sql語句
        /// </summary>
        /// <param name="links">查詢條件,若無此條件請保持該屬性默認值</typeparam>
        /// <returns>sql語句中where后面的部門,以" and"開始,sql語句中最后部分應是" where 1=1"</returns>
        private string GetConditions(Links links)
        {
            string condition="";
            if(links!=null)
            {
            if(links.ID!=(default(int)))
            {
                condition+=" and ID = '"+links.ID+"'";
            }
            if(!string.IsNullOrEmpty(links.LName))
            {
                condition+=" and LName like '%"+SqlHelper.GetParameterValue(links.LName)+"%'";
            }
            if(!string.IsNullOrEmpty(links.LPath))
            {
                condition+=" and LPath like '%"+SqlHelper.GetParameterValue(links.LPath)+"%'";
            }
            }
            
            return condition;
        }
        /// <summary>
        /// 更新數據
        /// </summary>
        /// <param name="links">需要更新的數據實體</param>
        /// <returns></returns>
        //public int Update(Links links)
      //  {
       //     string sql="update Links set LName=@lName,LPath=@lPath where ID=@id";
        //    SqlParameter[] spms=new SqlParameter[]
        //    {
         //       new SqlParameter("@id",links.ID),new SqlParameter("@lName",links.LName??(object)DBNull.Value),new SqlParameter("@lPath",links.LPath??(object)DBNull.Value)
         //   };
         //   return SqlHelper.ExecuteNonQuery(sql,spms);
        //}
       /// <summary>
        /// 更新數據,只傳入需要更新的字段,可批量更新
        /// </summary>
        /// <param name="ids">需要更新的數據主鍵</param>
        /// <returns></returns>
        public int Update(Links links)
        {
            List<SqlParameter> spms=new List<SqlParameter>();
            string sql="update Links set ";
            if(links!=null)
            {
            if(!string.IsNullOrEmpty(links.LName))
            {
                sql+="LName=@lName,";
                spms.Add(new SqlParameter("@lName",links.LName));
            }
                 
            if(!string.IsNullOrEmpty(links.LPath))
            {
                sql+="LPath=@lPath,";
                spms.Add(new SqlParameter("@lPath",links.LPath));
            }
            }
            sql=sql.Substring(0,sql.Length-1);
            sql+=" where ID =@id";
            spms.Add(new SqlParameter("@id",links.ID));
            return SqlHelper.ExecuteNonQuery(sql,spms.ToArray());
        }
        /// <summary>
        /// 刪除數據
        /// </summary>
        /// <param name="id">需要刪除的數據主鍵id列表,可傳單個ID,也可傳數組</param>
        /// <returns></returns>
        public int Delete(params int[] ids)
        {
            if(ids.Length==0)return 0;
            List<SqlParameter> spms=new List<SqlParameter>();
            string sql="delete from Links where ID in (";
            for(int i=0;i<ids.Length;i++)
            {
                sql+="@id"+i+",";
                spms.Add(new SqlParameter("@id"+i,ids[i]));
            }
            sql=sql.Substring(0,sql.Length-1);
            sql+=")";
            return SqlHelper.ExecuteNonQuery(sql,spms.ToArray());
        }
        /// <summary>
        /// 插入數據,自增列的值對應更新在實體類參數對象中
        /// </summary>
        /// <param name="links">需要插入的數據實體</param>
        /// <returns>影響行數</returns>
        public int Insert(Links links)
        {
            string sql="insert into Links(LName,LPath) values ("+(links.LName==null?"null":"@lName")+","+(links.LPath==null?"null":"@lPath")+");Select @@IDENTITY";
            SqlParameter[] spms=new SqlParameter[]
            {
                new SqlParameter("@lName",links.LName??(object)DBNull.Value),new SqlParameter("@lPath",links.LPath??(object)DBNull.Value)
            };
            return int.Parse(SqlHelper.ExecuteScalar(sql,spms).ToString());
        }
    }
}

 

該類少許代碼經過自己修改

 

 

 來幾張項目后台頁面

  這是新聞管理

 

這是修改項目文件

這是普通的列表頁面

 后台用戶名:yujiajun 密碼:111111

個人認為 ,不存在說的通用的網站,通用的網站都是通過一定策略 和遵守一定約定實現的

這個項目也一樣通過此實現

代碼簡單 完全可以進行二次開發(可免費使用 但請注明出處)

后台模板經測試  大多瀏覽器都兼容   由於不善於表達有些功能未表現出來  項目適合新手  

  希望各位 提出寶貴意見或建議  以便於幫助該項目長期更新

如果疑問可聯系(只在業余時間提供解決)

 QQ:1459598574   Email:yujiajunbmj@yeah.net

 

下載地址:http://files.cnblogs.com/yujiajun/yujiajun.zip

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM