C#
知北行
不积跬步,无以至千里,不积小流,无以成江海
展开
-
.net mvc——ASP.NET MVC项目部署到阿里云服务器(WindowsServers2012+IIS8.0环境)
1、首先在阿里云服务器windows server 2012 配置asp.net的IIS服务,这里主要参考博文: 阿里云windows server 2012 配置asp.net的IIS服务但上面链接的教程中,有一个问题,在添加服务器角色时,除了需要添加 Web Server(iis),还需要在 Web服务器(IIS)中启用ASP.NET 4.6、ISAPI扩展,主要如下图:同时建议将 w...原创 2020-05-01 18:06:48 · 2033 阅读 · 0 评论 -
.net mvc——前后台传递参数不一致问题
.net mvc 如果前后台传递的参数类型不同,那么会出错例如前台这样传参数: var postData = {} postData.user_acc = "1;2"; $.post('/Test1/PostTest', postData, function (data) { console.info(data)...原创 2020-04-05 18:12:23 · 701 阅读 · 0 评论 -
C#——计算两个字符串日期的时间差或天数差
计算某年某月的天数 DateTime dt1 = Convert.DateTime("2007-8-1"); DateTime dt2 = Convert.DateTime("2007-8-15"); TimeSpan span = dt2.Subtract(dt1); int dayDiff = span.Days + 1; 获取当前时间; DateTime checkTi...转载 2020-04-05 17:09:15 · 1929 阅读 · 1 评论 -
C#——split函数用法问题
string str="1;2;" string[] idArray = str.Split(';'); //数组内容为["1","2",""] //注意这时idArray[]为"1","2","",会多出一个""数组内容为[“1”,“2”,""]注意这时idArray[]为"1",“2”,"",会多出一个""空字符串...原创 2020-04-05 16:38:05 · 200 阅读 · 0 评论 -
.net mvc——后台主动向前台推送信息(signalr,没有前端调用)
主动推送消息有两种方案:1.使用C#的signalr主动推送消息2.使用ajax轮询,本质上还是前端向后端请求这里采用signalr来实现主动的消息推送(无前端调用),同时结合前一篇博客的定时功能https://blog.csdn.net/qq_35077107/article/details/104525704,实现了服务端定时向前端推送消息,前端更新页面显示的功能。效果如下:主要实现...原创 2020-03-01 23:19:07 · 4480 阅读 · 1 评论 -
C#——定时执行一段代码
方法一:调用线程执行方法,在方法中实现死循环,每个循环Sleep设定时间;方法二:使用System.Timers.Timer类;方法三:使用System.Threading.Timer;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa...转载 2020-02-26 22:02:53 · 1634 阅读 · 0 评论 -
.net mvc——定时任务实现
转自:一个简单易用的asp.net mvc 定时任务一、使用说明把要执行的任务新建一个类放到本Web项目中,可以放在任意位置,建议放在AutoTask 文件夹下对该类应用属性 AutoTask 如下所示[AutoTask(EnterMethod = “StartTask”, IntervalSeconds = 86400, StartTime = “2016-12-28 00:00...转载 2020-02-26 21:49:06 · 3305 阅读 · 0 评论 -
C#——signalr实现简单的网页实时聊天
1.新建asp.net web应用程序,然后在vs的NuGet包中下载安装Microsoft.AspNet.SignalR2.右键项目-》新建项,选择signalr集线器类,并写入代码,namespace与类名记得改成实际类名using System;using System.Collections.Generic;using System.Linq;using System.We...原创 2020-02-23 12:13:02 · 3030 阅读 · 2 评论 -
C#数据库插入多条数据,抛出异常:另一个 SqlParameterCollection 中已包含 SqlParameter
解决办法很简单:添加语句:cmd.Parameters.Clear();原理:在SqlCommand使用完后清理SqlParameter。代码示例: //定义连接数据库的配置字符串,需要填入你的连接字符串 private static string connectionString = "************************************"; ...原创 2020-02-19 20:31:52 · 989 阅读 · 0 评论 -
C#——SqlParameter的使用方法及注意事项
SqlParameter可以防止sql注入问题,这里记录下使用方法及代码。1.封装的sqlHelper类中的数据库操作方法(部分代码,具体可参见.net 使用SQLconnection连接数据库及SQL帮助类)//这里要填入你的数据库连接字符串private static string connectionString = "*************************"; ...原创 2020-02-19 17:50:40 · 7119 阅读 · 1 评论 -
layer弹窗传递值的方法
共有三种传值方法1.通过layer.open()中的success回调方法传值。弹出层layer本质上是一个iframe,可以通过js获取其dom元素然后对相应的标签赋值。代码示例:(这里是使用layui的table组件,在点击工具栏时打开弹出层,主要是success回调函数中的代码) //监听工具条 table.on('tool(user)'...原创 2020-02-19 17:39:17 · 15613 阅读 · 0 评论 -
js获取日期时间及格式化日期格式及替换字符串中所有指定字符
1.获取日期及格式化日期格式// 对Date的扩展,将 Date 转化为指定格式的String // 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) // 例子: // (new Date()).Format("yyyy-MM-dd hh:mm:ss...原创 2020-02-18 17:17:25 · 1260 阅读 · 1 评论 -
.net mvc——EF问题相关总结
关于Code First,有两个可以选择,下图中的最后两个:这两者是殊途同归,是一样的。1.【空CodeFirst模型】就是新建一个空的模型,然后自己写实体类代码,根据这些实体类代码来生成数据库,生成数据库了之后,就与【来自数据库的CodeFirst】是一样的。2.【来自数据库的CodeFirst】就是根据从数据库中选择的一些表/视图来生成实体类代码,这些自动生成的代码和你自己手写是一样一...原创 2020-02-15 19:46:15 · 2226 阅读 · 0 评论 -
.net mvc——image标签元素无法获取src的问题
由于.net mvc有一个虚拟路径类似~/Views/Images/logo.jpg,在设置image的src时试着使用 了一下,发现无法正确获取图片,无法显示。于是进行了测试:1.首先在mvc项目的目录下分别创建了两个文件夹,用于存放要显示的图片,目录结构与图片如下,分别在根目录下和Views目录下存放图片,下一步分别引用测试。2.前端用不同的引用格式对两张不同位置的图片进行引用,htm...原创 2020-02-14 19:44:51 · 1519 阅读 · 0 评论 -
.net mvc——小问题汇总(2020.4.5)
1…对于每一个view必须在controller中有一个action返回view()与其 对应,不然浏览器访问会出错。2.使用EF时,建议选择第四种模式,【来自数据库的Code First模式】实质上并不是CodeFirst模式,而是DBFirst模式的轻量级版本,在该模式中取消了edmx模型和T4模板,直接生成了EF上下文和相应的类,该模式出现在VS2...原创 2020-02-12 13:29:03 · 140 阅读 · 0 评论 -
C#——小问题汇总(2020.4.5)
1.c#中,字符串前加@表示按照@后面的字符赋值,避免转义字符。如:(@"C:\Program Files\Tencent\Tencent.exe “)。在C#中”\“是转义符,所以如果当你写"c:\dos"时,C#会把”\d“当成转义符,所以加上@,C#就会认成"c:\dos”。代码示例: string testStr = @"C:\Program Files\T...原创 2020-02-12 12:22:32 · 135 阅读 · 0 评论 -
C#——Cache的理解及使用
(1)Cache有以下几条缓存数据的规则。 1)数据可能会被频繁的被使用,这种数据可以缓存。 2)数据的访问频率非常高,或者一个数据的访问频率不高,但是它的生存周期很长,这样的数据最好也缓存起来。(2)Cache用法1)将数据添加到缓存中a.通过指定其键和值将项添加到缓存中 Cache["txt"] = "a";b.通过使用 Insert(重载Insert方法)方法将项添加到缓...原创 2020-02-12 12:21:04 · 2246 阅读 · 0 评论 -
C#——param关键字的使用
C#的param 关键字常用于对数据库进行操作的方法,通过param关键字可以防止SQL注入问题。代码举例:static void Main(string[] args){ Console.WriteLine(Sum(1)); Console.WriteLine(Sum(1, 2, 3)); Console.WriteLine(Sum(1, 2, 3, 4, 5));}pr...原创 2020-02-12 11:31:10 · 1938 阅读 · 0 评论 -
.net mvc——后台controller向前台传送json格式数据的问题
在使用layui.table组件时,用action向前端传table所需要的数据时,我将数据以json字符串的格式传给前端,但前端总是读取不到数据。所用的action方法如下: /// <summary> /// 获取table的json数据 /// </summary> /// <returns>...原创 2020-02-11 22:53:06 · 1828 阅读 · 0 评论 -
C#——使用Newtonsoft解析json字符串
1.将json数组字符串转化为json数组(JArray类型) string jsonText = @"{""input"" : ""value"", ""output"" : ""result""}"; JObject jsonObj = JObject.Parse(jsonText);2.将json字符串转化为json对象(JObject类型) var data = [{"id":"...原创 2020-02-11 22:13:18 · 448 阅读 · 0 评论 -
C#——序列化与反序列化
序列化和反序列化的概念把对象转换为字节序列的过程称为对象的序列化。(通俗的理解为对象转为字符串)例子如://序列化:List 转 json字符串,resultList为List string jsonStr=Newtonsoft.Json.JsonConvert.SerializeObject(resultList); 把字节序列恢复为对象的过程称为对象的反序列化。(通俗的理解为字符串...原创 2020-02-11 22:07:54 · 324 阅读 · 0 评论 -
.net mvc——将json数组字符串转化为List(反序列化)
需求:有以下json数组字符串[{"user_acc":"123","user_password":"123","user_name":"张飞","user_workcell":"JW007","user_role_id":1,},{"user_acc":"admin","user_password":"1","user_name":"系统管理员","user_workcell":"Jw007...原创 2020-02-11 22:00:26 · 2194 阅读 · 2 评论 -
C#——验证码图片生成及.net mvc登录验证码实现
1.验证码图片生成类 /// <summary> /// 生成验证码图片类 /// </summary> public class VerifyCodeHelper { public static Bitmap CreateVerifyCode(out string code) { ...原创 2020-02-11 20:41:12 · 1714 阅读 · 0 评论 -
C#——将数据库的查询结果DataReader转换为Json数组的字符串
/// <summary> /// DataReader转换为Json /// </summary> /// <param name="dataReader">DataReader对象</param> /// <returns>Json...原创 2020-02-11 20:13:44 · 2096 阅读 · 0 评论 -
.net 使用SQLconnection连接数据库及SQL帮助类
1.首先要获取数据库的连接字符串,可以通过visual studio的工具->连接到数据库来获得。连接字符串:Data Source=********;Initial Catalog=********;Persist Security Info=True;User ID=***;Password=****2.新建SqlHelper类 public static class S...原创 2020-02-11 20:06:33 · 1605 阅读 · 0 评论 -
C#——利用反射输出对象的属性值(可排除含visual关键字的属性)
在使用.net的ORM时用到了EF来操作数据库,使用的是基于DB的CodeFirst模式,其自动根据数据库中的每个表生成了相应的类,但生成的类中并没有定义toString方法。且对于表中的外键主键约束该类中还多了许多visual的属性。需求是用一种通用的方法来方便的在控制台输出其不包含visual的属性值。代码 /// <summary> /// ...原创 2020-02-11 19:46:47 · 825 阅读 · 1 评论 -
.net mvc——前端html(cshtml)页面利用ajax向后端controller传值的常用方式
这里前端html页面使用ajax向controller传递的主要是form表单的内容,且前端使用了layui框架。后端controller接收值可以有两种方法1.前端cshtml代码(layui模板自带的登录界面,使用时记得添加相关的引用和依赖,这里已经封装在BundleConfig.cs中)@{ ViewBag.Title = "Login";}<!DOCTYPE ...原创 2020-02-11 19:20:03 · 5244 阅读 · 0 评论 -
C#将枚举类型转化为字符串及枚举类型常用操作
public enum UserRoleEnum { /// <summary> /// 系统管理员 /// </summary> Admin = 1, /// <summary> /// Workcell经理 /// </s...原创 2020-02-11 16:42:23 · 3096 阅读 · 0 评论 -
ASP.NET MVC使用Authorize过滤器验证用户登录及记住用户功能实现
ASP.NET MVC使用Authorize过滤器验证用户登录。Authorize过滤器首先运行在任何其它过滤器或动作方法之前,主要用来做登录验证或者权限验证。使用Authorize实现验证用户登录可以参考这篇文章:https://blog.csdn.net/pan_junbiao/article/details/84561056这篇文章主要介绍在Authorize过滤器验证用户登...原创 2020-02-11 16:13:19 · 1342 阅读 · 0 评论