自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(111)
  • 资源 (3)
  • 收藏
  • 关注

原创 .Net Core跨域配置

1、在Startup的ConfigureServices中配置如下代码,注意要配置在AddMvc()之前。 services.AddCors(options => { options.AddPolicy("allow_all", builder => { builder.AllowAnyOrigin() //允...

2018-09-03 11:00:06 2796 1

原创 ASP.NET MVC导出PDF

主要步骤:  1、传递需要打印的html内容  2、后台将html内容转换成PDF内容  3、转换后生成文件流下载使用解析组件:iTextSharp程序包管理控制器执行安装命令,也可以直接Nuget包管理器安装。   Install-Package iTextSharp   Install-Package itextsharp.xmlworker页面:通过f...

2018-08-14 15:56:50 6932 1

原创 ASP.NET MVC解析POST过来的数据,没有参数名称。

我们平时请求MVC Action的时候都会带上参数,比如string name,那么前台ajax传递的时候,指定参数name的值post过来就好了。但是有些情况下是没有参数的,有其他接口回调你的接口的时候就可能会有这样情况,没有请求参数,只会给你一串数据。这里我们需要解析请求的流,转换成我们需要的数据,一般是字符串,然后再进行自己的业务操作。Action中接收请求数据代码: ...

2018-08-02 21:45:44 4006

原创 NPOI导出Excel添加单元格验证:下拉框,数字

需求描述:数据导出到Excel,新增对单元格的数据校验。如图:1、设置验证,首先要选择单元格的范围CellRangeAddressList cellRegions = new CellRangeAddressList(1, 65535, 1, 1);  范围表示:选择第2行到第65535行,第二列2、创建约束constraintXSSFDataValidationH...

2018-07-18 10:38:04 5091

原创 web中切换详情信息和编辑功能

在web应用中,我们经常会查看某个数据详情,并且能编辑它,在同一个页面同一个区域中,不用再弹窗,具体描述可能不太清楚,请看效果图,这是之前做的一个商品的详情和编辑,现在记录一下:数据的绑定我是使用vue.js绑定的,比较方便,贴部分代码,其他类似: <td class="cyan">Sku编码</td> <td>     <sp...

2018-07-13 09:55:55 1123 1

原创 JWT-校验

JWT就相当于自己定义的Token,JWT是在服务端根据秘钥加密后生成的字符串,然后经过BASE64加密输出,现在前后端分离的web项目用的挺多的,根据自己的项目情况来。JWT字符串由三部分组成:header.payload.signature(header+payload+secret)这里就不再详细介绍了,直接看代码: class Program { static...

2018-07-12 16:08:39 1492

原创 .Net Core 基础 - 读取配置文件

.Net Core 读取配置文件主要是通过IConfiguration,是.Net Core自动注入的,默认构造函数注入方式。1、Program控制台启动中添加Json配置文件 public static IWebHostBuilder CreateWebHostBuilder(string[] args) { return WebHost.C...

2018-07-03 18:05:21 1451

原创 C# 队列Queue的使用

今天用到的C#内置的Queue队列来进行重试机制。基本的用法就是入队列:Enqueue、出队列:Dequeue接口拉取数据,接口可能不稳定会拉取失败,我将失败的记录存入了Queue然后进行重试,直到全部成功为止。Queue errorQueue = new Queue();//将所有失败的记录都存入队列errorQueue.Enqueue(param.PageNo);//然后进行重试,直到...

2018-06-21 21:46:57 8473

原创 MySql远程登录失败 "Host is not allowed to connect to this MySQL server"

1.需要在阿里云开启3306 mysql服务端口2.配置账号的访问权限,如图:From Host:授权访问方式,localhost只能在服务器本机登录,%就可以所有IP访问了。为了安全性,可以分配一个账号,设置对应的previleges访问权限。...

2018-05-21 16:10:38 429

原创 linq to sql 动态拼接条件

遇到了一个比较特殊的查询(表没有设计好,也就是加一个字段能解决了),才发现了linq to sql 还可以这样的去动态的拼接where条件,不然也不会这样写,这里记录一下,代码如下: from bill in list join invoice in _invoiceAppService.Query() on bill.BillNo equals invoice.Bi...

2018-05-09 16:43:17 2850 1

原创 MVC5路由改为小写、Route特性自定义Action路由

1.要想使用Route特性自定义Action名称,需要注册Mvc路由特性。在RouteConfig的RegisterRoutes方法里,调用:routes.MapMvcAttributeRoutes();这里需要注意的是,如果Controller继承了一个父Controller,且父类Controller中,有泛型方法,就会报错:“您不能调用控制器xxx上的xx方法,因为该方法是一种泛型方法。”如...

2018-05-04 21:53:17 1880

原创 ASP.NET MVC、WebApi 设置返回Json为小驼峰命名

在ASP.NET MVC中,我们一般返回json数据,直接return Json(data)就可以了,但是C#字段命名规范是首字母大写,返回Json的时候就是直接序列化了指定的实体对象,就是大写了。这里自己创建一个JsonResult,继承JsonResult,重写一下ExecuteResult方法,利用Newtonsoft.Json格式化一下数据,再自定义写回到请求中。 public cl...

2018-05-02 18:01:54 5823

原创 Autofac-ASP.NET MVC、WebApi 使用

1.安装Autofac包和Autofac.Integration.Mvc包,在global中进行注入: var builder = new ContainerBuilder(); //注册所有Controller builder.RegisterControllers(Assembly.GetExecutingAssembly(...

2018-04-27 19:23:59 471

原创 C# AutoMapper 利用特性进行实体间的映射

AutoMapper:6.2.2.0案例:UserDto和User实体之间的映射(User类除了Name拥有更多字段) [AutoMap(typeof(User))] public class UserDto { public string Name { get; set; } }最后直接使用:var userDto = userService.Find("0...

2018-04-26 19:04:31 6347 3

原创 面向对象,设计模式进一步理解

设计模式,是前人总结的经验,在不同的场景里解决不同的问题,所以不应该“简单”的复制,不应该为了模式而模式,应该是灵活应用的。看了网上很多讲设计模式的,还有不少书籍也有,开始看的时候看不懂,再学了面向对象之后,发现那些例子(猫啊狗啊)什么的都可以看懂,但是,在具体的项目里面并不知道怎么去使用。所有的代码因项目而异,设计模式的那些套路,不一定适合你。之所以看不懂,是因为记那些概念太多了,还有就是代码量...

2018-04-16 15:15:07 1379

原创 文本框oninput事件,在中文输入法状态多次触发

如图,在中文输入法状态中,还在检索拼音,这时事件就会触发,这不是我们想要的,xiaoqiu x,xi,xia,xiao....都会触发,这样频繁的请求会给接口造成挺大压力的。我们可以使用js里面防抖动的方式或DOM3的复合事件来解决此问题。回顾一下onchange和input事件:     oninput事件在<input>或<textarea>元素的值发生改变时触发 o...

2018-04-11 11:16:21 22708 4

原创 Linux CentOS 系统安装MQTT(Apache-apollo)

1.安装Apache-apollo         关于它的介绍,请参考:http://activemq.apache.org/apollo/index.html        它是从原始ActiveMQ的基础构建一个新的更快的,更可靠的,使用完全不同的线程和消息调度架构来实现的。Apollo是一个多协议的代理,支持MQTT,WebSockets等等。MQTT是本文要介绍到的。        1....

2018-03-21 16:01:07 5465 2

原创 C# 操作redis

1.安装redis操作工具包,ServiceStack.Redis。2.在App.config/web.config配置Redis信息 <configSections> <section name="RedisConfig" type="redisDemo.redis.RedisConfig,redisDemo" /> </configSections&...

2018-03-20 15:16:23 1927 1

原创 Linux CentOS 系统安装redis

1.下载redis安装包    wget http://download.redis.io/releases/redis-4.0.2.tar.gz2.make编译    根据Makefile文件编译源代码,连接,生成目标文件,可执行文件。3.make install    将编译成功的可执行文件安装到系统目录中,一般为 /usr/local/bin 目录4.编辑redis配置文件    vim /...

2018-03-20 11:48:05 357 1

原创 jQuery点击页面上某元素之外的地方进行指定操作

页面点击经常会有这样的需求,点击某元素之外的地方将指定元素给隐藏起来。如上图,需要点击页面中除下拉框区域(下拉树,文本框,下拉箭头)之外的元素,隐藏下拉框。页面元素点击事件绑定: $(document).on('click',':not(.combo_tree_panel)',function(){ $combotreePanel.hide();

2018-02-07 10:35:44 11947 1

原创 Newtonsoft.Json序列化DateTime类型数据为字符串时候,带了一个T

字段:public DateTime ApplyDate {get;set;}序列化字符串后,值变成了"2018-02-05T00:00:00"序列化时候 需要更改一下日期转换方式:IsoDateTimeConverter timeConverter = new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss

2018-02-05 14:06:15 7468

原创 跨域:The 'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed

使用Ajax跨域请求资源,Nginx作为代理,出现:The 'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed 错误。服务端允许跨域配置: #region 设置允许跨域,允许复杂请求 HttpContext

2018-01-17 10:29:08 118050 11

原创 HttpClient异常:ProtocolViolationException

使用HttpClient进行Get请求的时候,发生了这个异常:ProtocolViolationException,无法发生具有此谓词类型的内容正文。代码如下: var reqMsg = new HttpRequestMessage { Method = httpItem.Method,

2018-01-10 16:39:09 2959

原创 Nginx配置-Ajax跨域请求方式为PUT,DELETE

后台API使用了RESTful Api的接口设计,前端页面这里使用了Nginx代理进行跨域调试。当请求方式是DELETE、PUT的时候,出现了405 Method not Allowed 错误,而且请求的方式变成了OPTIONS。配置所有跨域请求:add_header Access-Control-Allow-Origin *;但这里只支持简单的请求方式:GET,POST,OPTIONS,使用DE

2018-01-02 14:26:01 10825 1

原创 layui-form表单自定义监听多个select

layui一个表单中多个select下拉选择事件监听,官网的写法代码太冗余了,自己封装扩展一下,形成回调形式。由于保存了图片,直接看图说话吧。

2017-12-24 20:20:21 12936 1

原创 layui-select动态选种值

layui的select在form渲染后,会重新构造一份DOM数据,将原生的select元素隐藏了。我是使用的vue动态绑定的options,这里绑定v-model就失效了。我想编辑某行的时候,动态选中select的值。1.需要改变对应input的显示值。2.对应新构造的select中的值,layui-this样式标识选中。那么在table编辑的时候,代码如下:

2017-12-23 20:12:54 6336

原创 layer弹层遮罩挡住窗体解决

使用代码: 这里面某个按钮触发弹层 如果上面的按钮触发了弹层 layer.open 且content是某个DOM元素content:$('#dialog')那么这里弹出层,遮罩会遮住到弹窗导致操作不了。官网给出的说法是  如果弹层的内容content是某个DOM元素的话,要放在body的根节点下。不能放在div里面了。我看了html代码

2017-12-13 21:36:42 29232 11

原创 .NET后台接收Json数据,序列化到指定实体类

请求数据如下:使用Newtonsoft.Json来序列化,实体类定义:public class InputBase { /// /// 时间戳 /// [JsonProperty("timeStamp")] public string TimeStamp { get; set; }

2017-11-20 11:29:22 1125

原创 js去掉html字符串中的所有标签元素,结合vue表达式使用

1.没去掉之前,绑定的代码是:显示的效果是将对应的html元素也显示出来了,这里我只需要他的纯文本就好了, 不含任何格式(html代码):2.去掉html字符串中的所有标签元素js代码:function delHtmlTag(str){ return str.replace(/]+>/g,"");}3.vue绑定更改:4.只显示纯文本

2017-09-28 18:15:51 8294 3

原创 js滚动条保持在容器最底部

table容器高度,table内容是动态增加的 也就是动态变高的var tableHeight = $("#panel>table").height();<div id='panel' style='height:520px;overflow:auto'>  div容器设置了高度,超过这个高度就让他出现纵向滚动条,滚动条保持在div容器最底部,计算一下里面的ta...

2017-09-21 16:06:20 10133

原创 vue.js移动数组位置,同时更新视图

使用vue.js  v-for绑定若干个选项,需要对选项进行排序上下移动操作。需要对options里面数组的位置进行交换,通常是这样来写:假设向前移动一个:var index = this.options.indexOf(option); //获取当前选项对象在数组里面的索引。var tempOption = this.options[index-1]; //存储前一个

2017-09-12 16:52:01 7357

原创 easyui刷新指定tab页里面的数据

主页Home/Index中使用tab管理,在主页中设置一个刷新的方法。/** * 刷新指定的tab里面的数据 * @param title 选项卡标题 * @param refreshTabFunc 自定义的刷新方法(再各个页面具体实现) */function refreshTabData(title,refreshGridFunc){ if ($("#tabs" ).t

2017-09-08 11:04:56 8711

原创 Java上传Excel文件导入数据

Controller中接收form表单提交的文件域:public Map importConsumer(@RequestParam("file") MultipartFile file)读取Excel工具类 这里我以Consumer实体类来写,大家可以自行封装:public class ReadExcel{ // 总行数 private int totalRows = 0;

2017-08-31 21:52:22 3442 2

原创 DTO和POJO实体类之间值映射

package cn.test.util;import java.lang.reflect.Method;import java.util.List;public class AutoMapper{ public static void mapping(TSource source,TDestination destination) { Method[] srcMetho

2017-08-31 15:58:56 5266 1

原创 Spring mvc批量插入sql配置

mapper.xml的配置批量插入sqlSessionTemplate配置:

2017-08-31 15:50:03 1329

原创 umeditor简洁富文本使用

一:引入umeditor对应的类库 二:创建对应的编辑器html区域,进行初始化设置等 UM.delEditor("headerTitleTip"); var editor = UM.getEditor('headerTitleTip', { initialFrameWidth: '100%', ini

2017-08-07 17:46:44 1866 1

原创 easyui的tree加载数据过滤匹配

easyui的tree的属性比较限制,他的valueField和textField对应的值必须是"id"和"name"。从接口获取的数据却是这样的,或者其他的,他规定的属性名称不能是其他,所以要过滤匹配一下,它内部提供了loadFilter过滤方法,我们根据规则来写:function FormatTreeData(data) { if (data == undefine

2017-07-24 14:57:56 2832

原创 textarea根据内容自动增加高度

js处理: function autoTextAreaHeight(o) { o.style.height = o.scrollTop + o.scrollHeight + "px"; } $(function () { var ele = document.getElementById("symptomTxt"); aut

2017-07-20 22:55:08 16410 2

原创 Css改变radio样式

结构: 红色css:.c_radio { height: 35px; line-height: 35px;}.c_radio > input { display: none;}.c_radio label { vertical-align: middle; line-height: 20px; disp

2017-06-15 13:39:02 4909

原创 js缓存变量,减少DOM操作开销

DOM是页面元素对象的体现,DOM是个树,每个DOM节点和其他节点有子父、兄弟关系,每次寻找的时候,都会一层层的去寻找,对于相同且已经查找过的节点,每次都去重新找,如果节点层级关系多了,性能就很低了。每次$()都会创建一个新的DOM对象。  在一个事件/区域内的this对象,就是代表事件调用本对象。如果每次使用到再重新去取,显然多余了。如果使用该对象频率高,应该吧变量缓存起来。不要再每次$(t

2017-06-14 17:22:02 1476

git小乌龟使用教程

git和coding.net使用 远程仓库

2017-06-12

LINQ_to_SQL语法及实例大全

LINQ_to_SQL语法及实例大全 对初学linq的朋友很有帮助了

2015-11-20

File与FileInfo的区别

File与FileInfo的区别,Directory和DirectoryInfo的区别.

2015-03-09

空空如也

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

TA关注的人

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