公告的发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44538225/article/details/89817994

做一个网站,公告的发布也是比较常见的,想要在这个网站里面发布一下想要发的公告,就得要这个发布公告的这一个模块,这个跟新闻、广告这一类应该是差不多的,就是发一些自己觉得好的文章,又或者发布一下比如在一个学校或者公司,发布一些需要全校或者整个厂区都需要知道的一些公告。
当然,要发布公告还得查询一下公告,由于公告内容会涉及很多张不同的表,内容不少,所以得分一下页。
而要用到分页就得创建两个实体类,类的名称分别是LayuiTableData跟LayuiTablePage,而这个是layui table组件分页请求数据封装;page代表单前页码,limit代表每页数据的量

LayuiTablePage:
/// <summary>
        /// page 代表当前页码
        /// </summary>
        public int page { get; set; }
        /// <summary>
        /// limit 代表每页数据量
        /// </summary>
 public int limit { get; set; }

还有分页开始序号和结束序号

/// <summary>
        /// 分页开始序号
        /// </summary>
        /// <returns></returns>
        public int GetStartIndex()
        {
//(当前的页数-1)*当前页的总条数
            return (page - 1) * limit;
        }
        /// <summary>
        /// 分页结束序号
        /// </summary>
        /// <returns></returns>
        public int GetEndIndex()
        {
//(当前页数*当前总条数)-1 
            return page * limit - 1;
 }
LayuiTableData:
}

在LayuiTableData后面还要传一个参数,这个参数可以接受任何数据过来LayuiTableData这个

/// <summary>
        /// 数据状态码 -- 可以不设置
        /// </summary>
        public int code { get; set; }
        /// <summary>
        /// 状态信息 -- 可以不设置
        /// </summary>
        public string msg { get; set; }
        /// <summary>
        /// 总行数 -- 必须
        /// </summary>
        public int count { get; set; }
        /// <summary>
        /// 数据 -- 必须
        /// </summary>
 public List<T> data { get; set; }

设置完这些之后就可以开启分页了。

  1. 然后查询完了就要新增,在新增之前要写一句代码,[ValidateInput(false)]:由于要存入HTML,关闭验证,因为公告的上传跟大一部分是中文文字,这个文字生成的是HTML的代码才呈现给用户看的,而HTML的代码在MVC C#中它不认这些代码,认为HTML代码是对它在进行攻击,所以得加上这一句代码。
  2. 接着就跟上传文件的思路差不多,这里如果想加入一些图片的轮播让整体的页面好看一点的话也可以加上,但是加上了这个就得检查存放轮播的图片的目录是否存在,不存在就要创建;
  3. 接着检查存放的附件的目录是否存在,不存在也创建;
  4. 再者检查存放正文的图片的目录是否存在,不存在当然就创建;
  5. 然后就正则匹配一下图片文件的名称,然后移动文件
    //正则表达式 匹配出图片文件名称–移动文件
    MatchCollection oldMatchs = Regex.Matches(textCount, “(?<=/Document/Temp/).+?(?=”.+?/>)");
  6. 移动文件,这里有一个注意的,移动文件之后在原来临时装文件的那个文件夹里就不能有文件留下来,跟剪切粘贴一样的,不是复制粘贴
    //Move:剪切,粘贴。copy:复制粘贴
System.IO.File.Move(oldImgPath, newPath);
  1. 替换所有图片文件的路径,把临时路径替换成要保存的路径,用一个Replace方法把它替换掉
  2. 保存公告信息,最重要的一点还是提交事务。然后否则就成功、失败、请填写完成等等这些用户操作的时候发生错误的提示。
    注:最主要的一点就是你既然用来事务,那就一定要提交事务!
    回到页面的话肯定得引用一下layui这个插件,然后就要声明全局的一个变量:
//保存layui模块以便全局使用 
var layer, layuiTable;
 然后写一个加载事件,在这个加载事件里面写一下layui的初始化和加载事件:
//加载和初始化layui模块
layui.use(['layer', 'table'], function () {
layer = layui.layer;
layuiTable = layui.table;
}

用use事件,然后中括号里面是加载的模块,两个的位置可以调换,但是那个layer是一定得写上的,另一个的话就是你想要layui插件里的哪一个模块就写上那个模块的名称,它就会帮你加载你要的那个模块的一些你想要实现的功能。
在浏览器上想要呈现出开启分页然后还有个选择开启分页每页的条数的话,还得在页面上写一下它的代码,不过默认值是显示10条数据

page: {
limit: 10, //指定每页显示的条数(默认值)
limits: [5, 10, 15, 20, 25, 30, 35, 40, 45, 50] , //每页条数的选择项
       },

点击那个标志出来的按钮就可以开启你想要的每页要多少条数据了,但是这些你得根据你在页面写的每条数的选择项有关,limits那里有的你就可以选择到,没有的就没有选择。
在这里插入图片描述
写完了公告的发布这一个模块当然不能够将上面的那张图片里显示出来的一样,这还得好几个页面一起搭建成的,公告的发布就只是左边那里的那张图片那里才是公告的发布的内容,但是点击图片的时候有一个跳转,跳转到那个发布公告页面,那个才是公告的发布,这是在写页面的时候把它也显示在这里。
当你点击了图片之后,页面跳转:
在这里插入图片描述
这个才是发布公告的页面,在填写发布公告的那里填写什么内容,发布公告页面就会显示声明内容,也可以选择是否上传片、附件等这些内容。
这一系列的操作,代码量是很多的,而且还要做一系列的判断,脑海的逻辑思维肯定得过关才可以,听授课老师讲,不懂,下课后看视频,懂一点点。这些代码跟思路都是老师讲的。然后不懂之后还要慢慢多看几次视频。学了这个才知道,看起来挺简单的点击,上传…一学,原来不简单,不过什么都是懂了就很简单,不懂就很难。

展开阅读全文

微软发布7月安全公告

07-18

发布日期:2004-07-14rnrnrn综述:rn======rn微软刚刚发布了7月份的7个安全公告,这些公告描述并修复了多个严重安全漏洞。rnrn紧急级别公告:rnrnMS04-022 Task Scheduler允许代码执行 (841873)rnhttp://www.microsoft.com/technet/security/bulletin/ms04-022.mspxrn 影响组件: IE 6.0rnrnMS04-023 HTML帮助允许代码执行漏洞 (840315)rnhttp://www.microsoft.com/technet/security/bulletin/ms04-023.mspxrn 影响组件: IE 6.0rnrn重要级别公告:rnrnMS04-019 Utility Manager允许代码执行漏洞(842526)rnhttp://www.microsoft.com/technet/security/bulletin/ms04-019.mspxrn 影响组件: Windows 2000rnrnMS04-020 POSIX允许代码执行漏洞 (841872)rnhttp://www.microsoft.com/technet/security/bulletin/ms04-020.mspxrn 影响组件: Windows 2000rn Windows NTrnrnMS04-021 IIS 4.0安全更新 (841373)rnhttp://www.microsoft.com/technet/security/bulletin/ms04-021.mspxrn 影响组件: Windows NT + IIS 4.0rnrnMS04-024 Windows Shell允许远程代码执行 (839645)rnhttp://www.microsoft.com/technet/security/bulletin/ms04-024.mspxrn 影响组件: Windows 2000rn Windows NTrn Windows XPrn Windows 2003rnrn中等级别公告:rnrnMS04-018 Outlook Express的累计安全更新 (823353)rnhttp://www.microsoft.com/technet/security/bulletin/ms04-018.mspxrn 影响组件: Windows 2000rn Windows NTrn Windows XPrn Windows 2003rnrn攻击者利用这些漏洞可能远程入侵并完全控制服务器或者客户端系统,微软已经将MS04-022、MS04-023列为紧急级别,需要Windows用户立刻进行升级或处理。rnrn我们强烈建议使用Windows操作系统的用户立刻安装上述补丁。您可以通过Windows自带的"Windows update"程序进行自动升级,也可以从上述安全公告的页面中找到相应补丁手工进行安装。rnrn【注: 此通告将会更新以提供更详细的信息】rnrnhttp://www.microsoft.com/technet/security/bulletin/ms04-jul.mspxrnhttp://www.microsoft.com/technet/security/bulletin/ms04-018.mspxrnhttp://www.microsoft.com/technet/security/bulletin/ms04-019.mspxrnhttp://www.microsoft.com/technet/security/bulletin/ms04-020.mspxrnhttp://www.microsoft.com/technet/security/bulletin/ms04-021.mspxrnhttp://www.microsoft.com/technet/security/bulletin/ms04-022.mspxrnhttp://www.microsoft.com/technet/security/bulletin/ms04-023.mspxrnhttp://www.microsoft.com/technet/security/bulletin/ms04-024.mspxrnrn[转自微软官方网站] 论坛

公告】心空论坛2.0正式发布

04-04

心空论坛(CKong)2.0正式发布,欢迎大家下载使用。rn rn  欢迎使用心空论坛(CKong)2.0。这是一套基于PHP+mysql构架的高速论坛系统。新版历经1年的开发,终于问世。其间一直受到众多爱好者的热切关注。新的系统从构架到效率,都是全新的并且非常快的。rn  欢迎访问官方网站:http://www.ckong.cn。更多插件更多精彩。rn rn 技术特点 rn·独有的无限子版块功能。rn·模板和程序分离。自由制作各种样式,不受程序困扰。rn·自由权限控制系统。内置不同的会员用户组、系统用户组,并可自由添加设定。rn·注册程序快捷检测系统,可最方便得到用户名信息。rn·特有图片加水印功能。保护版权,亦可宣传网站。rn·更加人性化的鲜花鸡蛋功能。可以给作者鲜花或者扔鸡蛋,无需跳转页面,方便快捷。rn·独创的字符转换图片插件功能。rn·完全自由的后台权限设置。rn·智能化判断各种权限,关闭无权输入框,显示对应内容,页面更加整洁。rn·简单易用的管理功能,最大限度减轻版面管理负担。rn·帖子评分功能快速简单,不再跳转页面rn·人性化的短消息功能。自动弹出,不占资源。回复自动包含旧消息。未读消息自动排前。rn·所有奖励操作,都将短消息通知用户以为鼓励。rn·所有删除操作皆有对话框提示,防止误点造成错误操作。rn·底层转义,避免安全问题。rn·程序执行效率极高。每行代码都经过最大限度的简化重写,提高执行效率。rn rn快捷下载地址:http://bbs.ckong.cn/download.php?fid=20 论坛

[公告]发布我收藏的Powerbuilder技术文章!

02-12

PB中保存图片(经典)rn//****************************************************************rn“选择”按钮代码:rnlb_image = gf_open_pic(p_1,lb_image)rnp_1.setpicture(lb_image) rn//***************************************************************rn“清除”按钮代码:rnp_1.picturename = ''rnp_1.picturename = ''//(需要两次)rnsetnull(lb_image)rn//***************************************************************rn函数gf_open_pic:rn//////////////////////////////////////////////////////////////////rn//Add by Jeffrey Jiang on 2001.11.13rn//选择图片rn/////////////////////////////////////////////////////////////////rn//Modfiy by Jeffrey Jiang on 2001.11.15rn//当图片字节大于32765时,循环读图片rn/////////////////////////////////////////////////////////////////rninteger li_file,li_ret,loops,irnstring ls_file,ls_pathrnblob lb_smallrnlong flen,bytes_read,new_posrn//search the filernli_ret = getfileopenname("选择图片文件",ls_path,ls_file, &rn"BMP","图片文件(*.BMP),*.BMP")rnif li_ret = 1 thenrnp_1.picturename = ''rnp_1.picturename = ''rnsetnull(lb_image)rnif li_file <> -1 thenrn// Set a wait cursorrnsetpointer(hourglass!)rnflen = filelength(ls_file)rnli_file = fileopen(ls_path,streammode!,read!,lockread!)rn// Determine how many times to call FileReadrnif flen > 32765 thenrnif mod(flen,32765)=0 thenrnloops = flen/32765rnelsernloops = (flen/32765) + 1rnend ifrnelsernloops = 1rnend ifrn// Read the filernnew_pos = 1rnfor i = 1 to loopsrnbytes_read = fileread(li_file,lb_small)rnif i = 1 thenrnlb_image = lb_smallrnelsernlb_image = lb_image + lb_smallrnend ifrnnextrn// close the filernfileclose(li_file)rnend ifrnend ifrnreturn lb_imagern//***************************************************************rn保存按钮代码:rnUPDATEBLOB "person" SET "person"."PHOTO" = :lb_image WHERE "person"."C_ID" = :ls_c_id USING SQLCA;rnIF sqlcadoor.SQLNRows > 0 THENrncommit using sqlca;rnEND IFrn//***************************************************************rn显示图片:rnlb_image = f_select_pic(ls_c_id)rnp_1.setpicture(lb_image)rn//***************************************************************rnf_select_pic函数:rnblob lb_imagernsetnull(lb_image)rnselectblob "person"."PHOTO" into:lb_image from "person" where "person"."C_ID"=:ls_c_id using sqlca;rnreturn lb_imagern//**************************************************************rn环境:PB65(向下兼容)rn数据库:sql anywhere 5.5(向下兼容)rn//数据库的字段根据自己的需要更改!!!!!rn//*************************************************************rn//*****************************************************************************rn有人问到,如何清除数据库中的图片而不删除该条记录,操作如下:rn保存图片到数据库要用UPDATEBLOB:rnUPDATEBLOB "M" SET "M"."PHOTO" = :ib_image WHERE "M"."C_ID" = :ls_c_id ;rn只删除图片而不删除记录要用UPDATE:rnUPDATE "M" SET "M"."PHOTO" = null WHERE "M"."C_ID" = :ls_c_id ;rn(数据库字段根据自己的做更改!)rn之前提供的gf_open_pic()函数说明:rn由于PowerBuilder提供的fileread()函数每次只能读出字节小于32765的图片,当图片大于32765时,我提供的gf_open_pic()函数循环读图片,传入两个参数p_1(picture),lb_image(blob)rn 论坛

没有更多推荐了,返回首页