• 发布一个自己写的企业站源码


    由于不善于排版和写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

    下载地址:https://files.cnblogs.com/yujiajun/yujiajun.zip

  • 相关阅读:
    Winform中如何禁用最大化或最小化按钮
    联想笔记本白屏解决办法
    SqlSever查询当前数据库某个表的名称、列名称、列说明
    离线安装Microsoft SQL Server 2016时Microsoft R Open和Microsoft R Server的问题
    SqlSever查询当前数据库的所有表名及其描述
    Windows10系统C盘的ESD文件夹是什么?可以删除吗?
    飞秋截图的快捷键是什么?
    打开Word时报错:Cannot find the Word document template:WordToRqm.dot
    .Net Core 2.1 上传文件后保存在根目录下的文件夹中,但是通过网页链接访问不了
    Winform弹出确认窗口
  • 原文地址:https://www.cnblogs.com/yujiajun/p/yujiajun.html
Copyright © 2020-2023  润新知