自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(11)
  • 资源 (7)
  • 收藏
  • 关注

原创 从0到1学会.net6+docker+nginx+centos7+集群+负载均衡

一、准备好.net6的项目,后台或WebAPI都可以,一般我们用WebAPI做示例;1、新建.net6 webapi项目,新建demo控制器,增加一个api方法案例,如:GetDemo2、调试,并保证程序能正常运行;3、点击webapi项目,右键→【添加】→【Docker支持】→【Linux】项目会生成一个Dockerfile文件修改如下发布webapi打开发布生成的文件夹,并进行打包............

2022-06-11 11:41:41 960

原创 从0到1实现RDS物理备份恢复到自建数据库虚拟机CentOS7

背景由于线上数据库用的是阿里云RDS,MySQL5.7高可用版本,并做了数据库备份(物理备份),就想着把备份文件下载下来在自己的本地电脑上做数据恢复;因为这样可以大胆的使用各种SQL语句,不用担心会影响到线上的性能。并且我前段时间有些了如何在Windows恢复数据,但本次要做的是在CentOS下恢复数据文件;因我Windows恢复的数据库存在一定的问题,如:1、不能修改数据;2、不能修改表结构;3、数据量多的表复杂的查询会mysql服务奔溃;4、有一定就局限性,会影响正常的数据库操作(.

2021-05-13 18:24:28 303

原创 趁年轻,要学会培养这几种能力

01学会把自己当老板不管从事哪些行业和领域,我们都不能仅仅把自己当作别人的帮手,一旦具有为别人工作的想法,那就只能一直为别人工作。我们要跳脱出自己是某某公司的员工,或勤恳的守在岗位上的想法,现在社会上,有一大把人抱着找个稳定工作的想法,也有很多人在一个岗位上一干就是几十年,我们都认为自己工作认真负责,就能得到提拔,而现实只是把日子熬到退休。可能很多人想不明白,为什么自己工作认真又踏实,甚至有些新人比自己提拔的还快,那是因为我们太过于墨守成规。很多人一开始只是抱着拿固定工资的心态,他们也渴望升职,只

2021-03-05 15:02:24 126

原创 留住员工的10个方法,老板与管理者必读

一、有竞争力的工资福利有关如何赢得人才之战的话题,往往要从钱字说起,也就是工资待遇。钱是很重要的。如果工资待遇没有竞争力,那么你在此基础上所搭建的高楼大厦就会倒塌。要想在工资方面具有竞争性,你就不能按照公司的内部章程制定工资标准,或每年只是涨个固定的百分比,而是要看某类人才的市场价格是多少并至少向这一标准看齐。员工福利所具有的长远意义也不能忘记。研究常常表明,丰厚的员工福利会增加员工的忠诚度。员工们看重的不是具体某个福利本身,而是这些福利说明了公司实行的是什么样一种企业文化,以及公司领导是如

2021-03-05 14:42:00 2377

原创 企业怎么留住员工?

留住员工的方法多种多样。总结一下主要有五种途径:1.在情感上加深与员工的关系。人都是情感动物,对员工生活的关照会赢得员工的感激。往往这种感激就是员工选择留下的重要因素。2.给员工留下发展和学习空间。员工在企业工作,每天都会有进步,当这种进步达到了一定的程度就需要给他营造一个更好的环境,以利于公司的发展。这种空间通常是安排一个更适合的岗位或者安排相关技能、管理的培训。3.给予员工合理的报酬。当一个员工的工作量与他获得的报酬严重不相称的情况下,员工就会心生抱怨而伺机寻找待遇更高的公司。这是员工离开的主要原

2021-03-05 14:37:25 185 1

原创 领导者都具备的四大思维能力

导读:衡量领导者能力和水平的一个重要标志是思维能力。通过一个领导者的思维方式,就可以看出这个领导者的能力水平。孟子说过,劳心者治人,劳力者治于人。他的含义就是领导动脑子的,吃瓜群众傻干就行。本质就是一个动脑子的率领一群傻干的,而不是一个傻干的带领一群动脑子的,那样,领导者就异位了。以下四种思维能力的提升可以有效地助您在商场、职场大显身手! 一、换位思维 有一句话是“人不为己天诛地灭”。说明人的本性就是为自己多着想。但是作为领导者,必须克制这种本能,要多为他人着想。也不...

2021-03-05 10:51:01 1174 2

原创 人的格局,在人群中从思维上可见端倪

关于人的格局,在人群中从思维上可见端倪,曾经一个记者去到建筑工地上,看见三个人都在干活,他问其中一位工人“你在做什么”他说“我在砌砖”,他又问另一个人“你在做什么?”那个人看上去很认真说“我在砌一面精致的墙”,再问第三个人在做什么?那个看上去快乐的人说“我在盖一个规模宏伟的大教堂,可以给千万人和子孙后代来这里祈祷信仰!”。这三个人干的是同样的工作,思维也不一样,通常有大格局的人能从大局出发窥见生命的意义,从本文中也能见到作家水木然对大众、精英,王者的思维模式的剖析和诠释。万般带不走,唯有业随身,更高的境界来

2021-03-05 10:39:14 360 2

原创 哪些是当你成为老板才知道的道理?

1.能用工资3000请人办到的事情,就不要花工资5000。 能花5000工资就解决的事情,不要请两个2000的人。人力和管理成本会随着公司的发展变得越来越大,选择一个专业的,比选择两个不专业的要强得多,这个在管理人的成本上会减轻很多。2.如果公司里有熟人,亲戚朋友之类的,一定要一视同仁,该结的工资一定要结好,别认为有了朋友这层关系就能拖欠。其实公司出了问题,很大的原因就是在于这些熟人公司,公平公正公司才能走得更远。3.合伙人可以有,但是有决策权利的只能有一个,否则在遇到什么事情的时候各处的声

2021-03-05 10:36:41 98 2

原创 阿里云RDS实例备份下载到Windows恢复到自建数据库-MySQL 5.7版本

背景由于考虑在不影响线上环境的情况下,将线上数据库(RDS)的数据备份到我本地Windows数据库中,好排查数据库异常和方便做相应查询统计功能,所以就不使用传输数据的方式来做(线上库的数据很大,几百G的数据量),使用下载备份实例的方式还原某天的数据;废话不多说,一起来看下;过程开始的时候会根据RDS提供的数据恢复方法恢复,我感觉有点麻烦,就直接不用了,感兴趣的朋友可以去看下官网的文档;https://help.aliyun.com/knowledge_detail/41817.html?sp

2020-12-28 14:26:39 1029

转载 学历代表过去、能力代表现在、学习力代表未来

1、分享第一条经验:“学历代表过去、能力代表现在、学习力代表未来。”其实这是一个来自国外教育领域的一个研究结果。相信工作过几年、十几年的朋友对这个道理有些体会吧。但我相信这一点也很重要:“重要的道理明白太晚将抱憾终生!”所以放在每一条,让刚刚毕业的朋友们早点看到哈!2、一定要确定自己的发展方向,并为此目的制定可行的计划。不要说什么,“我刚毕业,还不知道将来可能做什么?”,“跟着感觉走,先做做看”。因为,这样的观点会通过你的潜意识去暗示你的行为无所事事、碌碌无为。一直做技术,将来成为专家级人物?向管理方.

2020-12-17 17:27:35 1355

原创 【支付宝商家中心】支付功能签约,产品签约失败;修改经营类目;系统检测到您的账户不符合国家相关法律法规或《支付宝用户服务协议》约定

由于公司要接入支付宝支付功能,所以要申请企业支付宝商家;链接:https://b.alipay.com/index2.htm注册申请后,进入商家中心,中间需要法人支付宝认证后通过企业实名认证;产品中心进行支付产品签约,提交相关资料(我申请的是手机网站支付:状态选未上架+首页图片+商品详情页图片+支付页图片)后,出现异常;系统检测到您的账户不符合国家相关法律法规或《支付宝用户服务协议》约定,暂时无法签约当前产品,感谢您的理解。没道理啊,刚注册的支付宝账号,怎么会有这个问题呢?系统又是怎么检

2020-10-30 12:55:16 21556 13

多线程上传文件,客户端http协议上传文件,客户端webserver上传文件,分割上传到服务器,模拟百度网盘文件上传

客户端文件续传上传到服务端,客户端http协议上传文件,客户端webserver上传文件,客户端续传,分割上传到服务器,模拟百度网盘文件上传 由于项目的需要一个客户端用来上传文件的,所以今天做了一个简单的例子

2014-11-17

.net导出word,word表格打印,设置word单元格两种颜色,.net导出报表word版,.net word操作

对word操作,画表格,在单元格设计特别的字体颜色等等,具体教程请搜博客,标题

2014-10-23

删除指定文件C#

操作本地的小软件,提供文件名,文件路劲,它可以自动帮你删除不要的文件 我是基于在开发的时候所用到的源代码管理,它自动生成一个.scc的文件,所以才做了一个小软件,现在分享给大家,

2014-10-11

JeasyUI的Draggable使用,JeasyUI的DataGrid数据提交,购物车的使用,拖拽产品加入购物车内,json转对象

从JeasyUI出下载demo后获得easyui文件夹,把它加到项目中去,建立好Image文件夹,因为要用到图片,也要建立jsonbyfzl.js,因为要把dataGrid的数据转成json,所以需要用到它 即var data =JSON.stringify(Rows);。备注:jsonbyfzl.js是本人自己写的,内容其实就是json2.js文件里面的内容。因有些浏览器会过滤json2所以自己建立了一个js文件 好,我们首先来看下效果先 我们来看一下代码,看它是怎么实现的吧 首先看一下html页面

2014-08-13

jeasyui的dataGrid的打印和导出,jeasyui报表 table转成excel 实例下载

如题,项目要用到jeasyui,所以必须要下载它的demo,获取相应的js,css等等的文件 jeasyui的下载地址:http://www.jeasyui.com/download/index.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <link href="easyui/themes/default/easyui.css" rel="stylesheet" type="text/css" /> <link href="easyui/themes/icon.css" rel="stylesheet" type="text/css" /> <link href="easyui/demo.css" rel="stylesheet" type="text/css" /> <script src="easyui/jquery.min.js" type="text/javascript"></script> <script src="easyui/jquery.easyui.min.js" type="text/javascript"></script> <script type="text/javascript"> $(function () { $("#tab").datagrid({ // width: 600, //宽度 height: 400, //高度 singleSelect: true, //选中一行的设置 fitColumns:true, url: "EditorUserHandler.ashx", //请求路径 title: "用户信息", //标题 iconCls: "icon-add", //图标 // collapsible: true, //隐藏按钮 //冻结列 // frozenColumns: [[{ field: "chk", "checkbox": true}]], //复选框 //列 rownumbers: false, //传输参数 queryParams: { "action": "query" }, pagination: true, toolbar: "#tool" }); $("#tab").datagrid('getPager').pagination({ beforePageText: "第", afterPageText: "页", displayMsg: "当前 {from} - {to}条数据 共{total} 条数据", pageSize: 10, pageList: [5, 10, 15, 20, 30] }); }) </script> <!--//打印--> <script type="text/javascript"> function CreateFormPage(strPrintName, printDatagrid) { var tableString = '<div><table width="100%"><tr style="text-align:center;"><td colspan="2" style="font-size:24px; font-weight:bold;"><span style="text-decoration:underline;"> </span>年<span style="text-decoration:underline;"> </span>半年广东省房屋市政工程安全生产文明施工示范工地申报项目汇总表</td></tr><tr><td style="text-align:left;">地区(部门)公 章: </td><td style="text-align:right;">报送时间: 年 月 日</td></tr></table> <table cellspacing="0" class="pb">'; var frozenColumns = printDatagrid.datagrid("options").frozenColumns; // 得到frozenColumns对象 var columns = printDatagrid.datagrid("options").columns; // 得到columns对象 var nameList = ''; // 载入title if (typeof columns != 'undefined' && columns != '') { $(columns).each(function (index) { tableString += '\n<tr>'; if (typeof frozenColumns != 'undefined' && typeof frozenColumns[index] != 'undefined') { for (var i = 0; i < frozenColumns[index].length; ++i) { if (!frozenColumns[index][i].hidden) { tableString += '\n<th width="' + frozenColumns[index][i].width + '"'; if (typeof frozenColumns[index][i].rowspan != 'undefined' && frozenColumns[index][i].rowspan > 1) { tableString += ' rowspan="' + frozenColumns[index][i].rowspan + '"'; } if (typeof frozenColumns[index][i].colspan != 'undefined' && frozenColumns[index][i].colspan > 1) { tableString += ' colspan="' + frozenColumns[index][i].colspan + '"'; } if (typeof frozenColumns[index][i].field != 'undefined' && frozenColumns[index][i].field != '') { nameList += ',{"f":"' + frozenColumns[index][i].field + '", "a":"' + frozenColumns[index][i].align + '"}'; } tableString += '>' + frozenColumns[0][i].title + '</th>'; } } } for (var i = 0; i < columns[index].length; ++i) { if (!columns[index][i].hidden) { tableString += '\n<th width="' + columns[index][i].width + '"'; if (typeof columns[index][i].rowspan != 'undefined' && columns[index][i].rowspan > 1) { tableString += ' rowspan="' + columns[index][i].rowspan + '"'; } if (typeof columns[index][i].colspan != 'undefined' && columns[index][i].colspan > 1) { tableString += ' colspan="' + columns[index][i].colspan + '"'; } if (typeof columns[index][i].field != 'undefined' && columns[index][i].field != '') { nameList += ',{"f":"' + columns[index][i].field + '", "a":"' + columns[index][i].align + '"}'; } tableString += '>' + columns[index][i].title + '</th>'; } } tableString += '\n</tr>'; }); } // 载入内容 var rows = printDatagrid.datagrid("getRows"); // 这段代码是获取当前页的所有行 var nl = eval('([' + nameList.substring(1) + '])'); for (var i = 0; i < rows.length; ++i) { tableString += '\n<tr>'; $(nl).each(function (j) { var e = nl[j].f.lastIndexOf('_0'); tableString += '\n<td'; if (nl[j].a != 'undefined' && nl[j].a != '') { tableString += ' style="text-align:' + nl[j].a + ';"'; } tableString += '>'; if (e + 2 == nl[j].f.length) { tableString += rows[i][nl[j].f.substring(0, e)]; } else tableString += rows[i][nl[j].f]; tableString += '</td>'; }); tableString += '\n</tr>'; } tableString += '\n</table></div>'; window.showModalDialog("/print.htm", tableString, "location:No;status:No;help:No;dialogWidth:800px;dialogHeight:600px;scroll:auto;"); } </script> <!--//导出--> <script type="text/javascript"> function ChangeToTable(printDatagrid) { var tableString = '<table cellspacing="0" class="pb">'; var frozenColumns = printDatagrid.datagrid("options").frozenColumns; // 得到frozenColumns对象 var columns = printDatagrid.datagrid("options").columns; // 得到columns对象 var nameList = new Array(); // 载入title if (typeof columns != 'undefined' && columns != '') { $(columns).each(function (index) { tableString += '\n<tr>'; if (typeof frozenColumns != 'undefined' && typeof frozenColumns[index] != 'undefined') { for (var i = 0; i < frozenColumns[index].length; ++i) { if (!frozenColumns[index][i].hidden) { tableString += '\n<th width="' + frozenColumns[index][i].width + '"'; if (typeof frozenColumns[index][i].rowspan != 'undefined' && frozenColumns[index][i].rowspan > 1) { tableString += ' rowspan="' + frozenColumns[index][i].rowspan + '"'; } if (typeof frozenColumns[index][i].colspan != 'undefined' && frozenColumns[index][i].colspan > 1) { tableString += ' colspan="' + frozenColumns[index][i].colspan + '"'; } if (typeof frozenColumns[index][i].field != 'undefined' && frozenColumns[index][i].field != '') { nameList.push(frozenColumns[index][i]); } tableString += '>' + frozenColumns[0][i].title + '</th>'; } } } for (var i = 0; i < columns[index].length; ++i) { if (!columns[index][i].hidden) { tableString += '\n<th width="' + columns[index][i].width + '"'; if (typeof columns[index][i].rowspan != 'undefined' && columns[index][i].rowspan > 1) { tableString += ' rowspan="' + columns[index][i].rowspan + '"'; } if (typeof columns[index][i].colspan != 'undefined' && columns[index][i].colspan > 1) { tableString += ' colspan="' + columns[index][i].colspan + '"'; } if (typeof columns[index][i].field != 'undefined' && columns[index][i].field != '') { nameList.push(columns[index][i]); } tableString += '>' + columns[index][i].title + '</th>'; } } tableString += '\n</tr>'; }); } // 载入内容 var rows = printDatagrid.datagrid("getRows"); // 这段代码是获取当前页的所有行 for (var i = 0; i < rows.length; ++i) { tableString += '\n<tr>'; for (var j = 0; j < nameList.length; ++j) { var e = nameList[j].field.lastIndexOf('_0'); tableString += '\n<td'; if (nameList[j].align != 'undefined' && nameList[j].align != '') { tableString += ' style="text-align:' + nameList[j].align + ';"'; } tableString += '>'; if (e + 2 == nameList[j].field.length) { tableString += rows[i][nameList[j].field.substring(0, e)]; } else tableString += rows[i][nameList[j].field]; tableString += '</td>'; } tableString += '\n</tr>'; } tableString += '\n</table>'; return tableString; } function Export(strXlsName, exportGrid) { var f = $('<form action="export.aspx" method="post" id="fm1"></form>'); var i = $('<input type="hidden" id="txtContent" name="txtContent" />'); var l = $('<input type="hidden" id="txtName" name="txtName" />'); i.val(ChangeToTable(exportGrid)); i.appendTo(f); l.val(strXlsName); l.appendTo(f); f.appendTo(document.body).submit(); try { document.body.removeChild(f); } catch (e) { } } </script> </head> <body> <a href="javascript:void(0);" onclick="CreateFormPage('打印测试', $('#tab'));">打印</a> <a href="javascript:void(0);" onclick="Export('导出excel', $('#tab'));">导出</a> <table id="tab"> <thead> <tr> <th data-options="field:'flid',width:80" rowspan="2">编号</th> <th data-options="field:'flname',width:100" rowspan="2">姓名</th> <th colspan="3">详细信息</th> <th colspan="2">登录信息</th> </tr> <tr> <th data-options="field:'fladdress',width:80,align:'right'">地址</th> <th data-options="field:'flphone',width:80,align:'right'">电话</th> <th data-options="field:'flemail',width:240">邮箱</th> <th data-options="field:'flloginname',width:60,align:'center'">登录名</th> <th data-options="field:'flloginpwd',width:60,align:'center'">密码</th> </tr> </thead></table> <div id="tool"> <table border="0" cellspacing="0" cellpadding="0" width="100%" class="easyui-datagrid"> <!--<tr> <td style=" padding-left:2px"> <a href="#" class="easyui-linkbutton" id="id_add" iconcls="icon-add" plain="true" onclick="add_dg();" >添加</a> <a href="#" class="easyui-linkbutton" id="id_edit" iconCls="icon-edit" plain="true" onclick="edit_dg();">修改</a> <a href="#" class="easyui-linkbutton" id="id_cancel " onclick="delete_dg();" iconcls="icon-cancel" plain="true">删除</a> </td> </tr>--> </table> </div> <br /> <div id="dd_dg" style=" display:none"> <form id="fm_dg"> 编号:<input id="flid" name="flid" class="easyui-numberbox" type="text" required="true" missingMessage="请输入编号" /> <br /> 姓名:<input id="flname" name="flname" class="easyui-validatebox" required="true" missingMessage="请输入姓名"/> <br /> 地址:<input id="fladdress" name="fladdress" class="easyui-validatebox" type="text" required="true" missingMessage="请输入地址" /> <br /> 电话:<input id="flphone" name="flphone" class="easyui-validatebox" type="text" required="true" missingMessage="请输入电话" /> <br /> 邮箱:<input id="flMail" name="flMail" class="easyui-validatebox" type="text" validType="email" required="true" missingMessage="请输入邮箱" /> <br /> 登录名:<input id="flloginname" name="flloginname" class="easyui-validatebox" type="text" required="true" missingMessage="请输入登录名" /> <br /> 密码:<input type="password" id="flloginpwd" name="flloginpwd" class="easyui-validatebox" required="true" missingMessage="请输入密码" /> <br /> </form> </div> </body> </html>

2014-08-11

uploadify大文件多文件上传在asp.net的使用,修改删除的bug和覆盖bug包括IIS配置

最近项目需要用到上传功能,上传功能要与邮箱里面的 添加附件 功能 一样,思来想去,最终确定用uploadify插件去做。好了,下面将详细讲解如何使用uploadify uploadify 其中有一个bug是,已经上传完成的文件,点击取消上传后,后台是不会跑去删除已经上传的文件的,它没有调用oncancel事件,这部分只能自己去写代码实现删除,下面会讲到这一块。我们先建立好一些普通的功能先。 好了,运行后看看效果,是不是如你所愿,上传完之后进行删除,后台也照样能删除。 下面来说一下uploadify 的第二个bug吧 就是你选择a,b,c文件上传,然后点击删除按钮进行删除,删除后再上传a,b,c它就会提示你说是否要替换文件。按道理来说根本就不需要这样的 好了,下面来做js文件的修改吧,还是修改jquery.uploadify.min.js

2014-08-11

asp.net发送邮件,使用MD5加密解密,实现用户注册完成后发送流水号(账号)到对方邮箱,jeasyUI验证,combobox的使用完成 实例下载

最近项目用到用户注册后要发流水号给对方邮箱接收,然后在用流水号登录系统,类似QQ一样,生成个流水号。注册的时候要求密码是要加密的,所以也用到了加密技术MD5。 项目也用到了一些JeasyUI这个控件。所以控件要在官网下载,下载地址是:http://jeasyui.com/download/index.php 下载完成后,把项目放进我们的项目中我们看一下数据库的表结构吧,没事我会提供下载链接的,里面包含数据库,我们先看看表吧 我们首先来看下 html文件 我们来看下处理文件Registration.ashx 里面包含了加密,和生成流水号(当前年度+地区号+流水号(0001)递增),还有发送邮件.其中有些公共的方法是在CommonHepler 还有一个DBHepler类这里就不提供了(内容有点多) 我们来看下选择框吧 选择框查询需要提交到SelectComboboxArea.ashx 我们来看下SelectComboboxArea.ashx,这里需要把数据转成json数据

2014-08-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除