c#
文章平均质量分 63
doubleicon
这个作者很懒,什么都没留下…
展开
-
ViewData、ViewBag、TempData、Session的区别与联系
一、引言 记得一次去面试,面试官问了我一个问题,在ASP.NET MVC中,页面间和Controller与View之间传递参数有几种方式?当时我就我把知道的几种方式说了一下,然后面试官又问了一下ViewData与ViewBag的区别,今天把ASP.NET MVC中Controller与View之间传递参数的方法总结一下以及介绍一下各种方法的区别,ASP.NET MVC中页面传值方法有:V...转载 2018-09-03 17:38:30 · 4856 阅读 · 0 评论 -
C#2.0 新特性
C# 2.0新特性,包括泛型、迭代器、可空类型、匿名方法、委托的协变与逆变、静态类等。原创 2017-06-07 11:48:45 · 414 阅读 · 0 评论 -
C#泛型示例
以前在做项目的时候,也经常会使用到泛型,但是对于泛型接口、泛型约束等总是理解的比较模糊,现在将泛型的使用总结如下1、泛型约束1.1、泛型约束说明 在定义泛型类时,可以对客户端代码能够在实例化类时用于类型参数的类型种类施加限制。如果客户端代码尝试使用某个约束所不允许的类型来实例化类,则会产生编译时错误。这些限制称为约束。约束是使用 where 上下文关键字指定的。下表列出了六种类型的约束:原创 2017-06-07 14:41:00 · 441 阅读 · 0 评论 -
net framework体系结构
术语解释 CIL(common intermediate language):公共中间语言。.net框架下各种种类、版本的编程语言在经过编译后生成的中间语言(后缀为.il),与平台无关、与语言无关,只要机器上运行了.net框架都可以运行.il文件。 BCL(basic class library):基类库。包含基础的类型(比如Console、string),为IL提供基础的编程支持,所有面向CI转载 2017-06-07 11:21:04 · 2072 阅读 · 0 评论 -
C#委托之Action、Func与Predicate用法
C#委托之Action与Func用法 一、Action,可以传入参数,没有返回值的委托 1、调用方法static void Main(string[] args) { Action<int, int> addcalc = new Action<int, int>(AddCalc); addcalc(2, 3); Console.ReadKey(); }原创 2017-06-06 15:47:21 · 1162 阅读 · 0 评论 -
C# 委托的比较 delegate、Action、Func、predicate
一、委托的定义 1、官方定义 委托是一种定义方法签名的类型。当实例化委托时,您可以将其实例与任何具有兼容签名的方法相关联。您可以通过委托实例调用方法。 2、个人理解 委托就是执行方法(函数)的一个类。事件是一种特殊的委托 二、如何申明委托及各种申明的区别 1、使用delegate关键字申明委托,如下: public delegate int CalcDelega原创 2017-06-06 12:24:35 · 1051 阅读 · 1 评论 -
EF操作-修改部分字段
在做项目的时候,肯定会用到更新数据库中的某条记录,而更新的时候,往往是更新数据库中的某几个字段,而不是全部字段,在此我们假设一个实体(TUsers)有如下字段:UserId,Account,Password,CreateDate,其中UserId是主键,自动增长。 修改方式一(修改全部字段)会比较麻烦CodeFirstContext context = new CodeFirstContext()原创 2017-06-09 17:36:13 · 8647 阅读 · 1 评论 -
EF之Code First设置主键时不自动增长
在做项目时,有时我们设置主键时,并不希望自动增长。代码中设置如下: public class TUsers { [Key] [DatabaseGenerated(System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption.None)]//不自动增长 public in原创 2017-06-09 15:24:45 · 9841 阅读 · 0 评论 -
EF之Code First设置主外键关系(三)
1、前言前两篇博文说的主外键关系都是一对一的外键关系,下面我们来说另外一种情况,一个主类中包含多个外键关键,基本代码如下。 public class B { [Key] public int Id { get; set; } public string Name { get; set; } }原创 2017-06-09 14:46:53 · 3183 阅读 · 0 评论 -
EF之Code First设置主外键关系(二)
1、前言上篇博文说了设置外键名称的问题,这篇博文我们来说说外键应该在那个实体类中定义的问题。2、实战示例现在有三个实体类,TUsers(用户类)、TRoles(角色)类,TUsersRoles(用户角色类),一个用户可以对应多个角色,一个角色可以对应多个用户,用户与角色是多对多的关系。 方法一(在主实体中定义),代码如下: public class TUsers { [Ke原创 2017-06-09 14:36:59 · 3747 阅读 · 0 评论 -
C#3.0新特性
C# 3.0 语言和编译器引入了多种新的语言功能。这些新的语言构造可以分别用在各种上下文中,并且可以共同完成语言集成查询 (LINQ)。下表列出了新增的 C# 3.0 语言功能: 1、隐式类型的本地变量和数组(类型推断)1.1、概述 可以赋予局部变量推断“类型”var 而不是显式类型。var 关键字指示编译器根据初始化语句右侧的表达式推断变量的类型。推断类型可以是内置类型、匿名类型、用户定义类型或原创 2017-06-07 15:56:40 · 282 阅读 · 0 评论 -
C#4.0新特性
C#4.0新特性,包括泛型的协变与逆变、动态类型、命名参数、可选参数原创 2017-06-07 18:22:59 · 539 阅读 · 0 评论 -
C#5.0新特性
1、异步编程 在.Net 4.5中,通过async和await两个关键字,引入了一种新的基于任务的异步编程模型(TAP)。在这种方式下,可以通过类似同步方式编写异步代码,极大简化了异步编程模型。如下式一个简单的实例: 示例代码暂时没有整理好,整理好了补上。参考资料 1、C# 5.0 新特性——Async和Await使异步编程更简单 2、基于事件的异步编程模式 3、基于任务的异步模式 4、那原创 2017-06-08 10:36:04 · 802 阅读 · 0 评论 -
Net MVC中TextBoxFor与EditorFor的区别
一、TextBoxFor说明如: @Html.TextBoxFor(m => m.Title, new { @class = “mytext” })生成的HTML代码是:二、EditorFor说明EditorFor写法同上TextBoxFor,如下:@Html.EditorFor(m => m.Title, new { @class = “mytext” })...原创 2018-08-08 19:38:51 · 2033 阅读 · 0 评论 -
net mvc Html.TextBoxFor、Html.DisplayFor与Html.EditorFor日期格式化
一、Html.DisplayFor日期格式化 model类上面添加DisplayFormat的attribute,代码如下:[ScaffoldColumn(true)][Display(Name = "发放日期", Order = 6)][DataType(DataType.Date,ErrorMessage="时间格式不正确")][DisplayFormat(DataForm...原创 2018-08-08 19:29:39 · 2184 阅读 · 0 评论 -
nupkg文件怎么安装
最近在整理CAS单点登录,CAS服务端搭建好了;接下来搭建CAS客户端,客户端计划使用PHP、Net、Java各搭建一个客户端。 在使用Net搭建CAS客户端,由于现在提供的源码需要VS2017才能打开,就想肯定有历史版本,下载一个历史版本的源码编译运行,应该就可以了;找到历史版本,想下载下来的应该是源码或者dll,结果下载下来的是一个扩展名为.nupkg的文件,于是百度搜索了一...原创 2018-07-11 10:05:15 · 13559 阅读 · 0 评论 -
MySQL数据库自动备份
最近在做一个项目时,客户要求数据库要允许自动备份,于是百度了一下解决方法,记录下面,主要代码如下: private static string RunCmd(string strPath, string strcmd) { Process p = new Process(); p.StartInfo.FileName = "c...原创 2018-05-08 19:28:19 · 175 阅读 · 0 评论 -
Asp.Net MVC 路由配置
1、概述 在以前的Web Form开发中,我们请求的URL都对应一个具体的文件,如/System/News.aspx?id=1 ,则在对应的网站目录下面存在一个News.aspx的文件,而ASP.NET路由使您能够使用不必映射到网站中的特定文件的URL。因为URL不必映射到文件,您可以使用描述用户操作的URL,因此用户更容易理解。ASP.NET MVC框架和ASP.NET动态数据扩展路由以提供仅在原创 2017-06-12 17:21:43 · 1228 阅读 · 0 评论 -
ASP.NET MVC过滤器
1、引言在ASP.NET MVC开发中,在控制器中定义的方面通常与界面上的View是一对一的关系,例如点击一个连接或者提交一个表单,如当用户点击一个连接,请求被路由到目的路由,相应的方法被调用,有时我们想要在方法执行之前或者执行之后指向一个额外的逻辑操作,为了支持这种需求,在ASP.NET MVC中提供了过滤器, 过滤器是自定义类,它们提供了一种声明性和程序性的方法来向控制器操作方法添加动作前和动作原创 2017-06-10 15:21:20 · 503 阅读 · 0 评论 -
EF之Code First使用Fluent API设置实体之间的关系
参考官方文档:Entity Framework Fluent API - Relationships或者:Entity Framework Code First (五)Fluent API - 配置关系翻译 2017-06-09 14:56:30 · 1518 阅读 · 0 评论 -
.net framework、C#、CLR、Visual Studio的对应关系。
.net framework、C#、CLR、Visual Studio的对应关系以及简要概述 一、版本对应关系 C#版本 .NET Framework版本 CLR版本 VS版本 描述 新特性 C#1.0 .NET Framework1.0 CLR1.0原创 2017-06-07 10:37:31 · 1408 阅读 · 0 评论 -
C#6.0新特性
C#6.0新特性,包括自动属性初始值、Lambda表达式用作属性等。原创 2017-06-08 11:30:26 · 331 阅读 · 0 评论 -
EF之Code First设置主外键关系(一)
指定类外键有注释(DataAnnotation)和FluentAPI两种方式,下面我们主要使用DataAnnotation指定外键关系 第一种方式//1-指定导航属性,会自动生成外键,命名规则为:“对象名称_主键名” public class TUsers { [Key] public int UserId { get; set; } pub原创 2017-06-09 14:23:01 · 20570 阅读 · 0 评论 -
EF之Model First模型优先
1、前言Model First顾名思义,先有实体模型,后有数据库,在本例中我们创建一个RightSystemDb的数据库,包含三张表,用户表、角色表、角色用户表。2、Model First实战示例首先打开VS2013创建一个控制台应用程序,命名为MyModelFirstDemo,创建完成以后,如下图: 选中解决方案中的项目名称,点击右键,选择“新建项”,如下图: 选中”ADO.NET实体原创 2017-06-09 10:20:57 · 2382 阅读 · 1 评论 -
C# 中的委托和事件
1、引言 委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework中的委托和事件、委托和事件转载 2017-06-16 11:48:30 · 385 阅读 · 0 评论 -
IOS文件的上传与下载(一)
分两篇博文来记录文件的上传与下载,首先来说IOS文件的上传,下篇博文说文件的下载上传文件我们需要处理服务端与客户端,在服务端使用asp.net实现,在客户端使用Objective - C实现 首先我们来说客户端,代码如下 private String UPLOAD_PATH = HttpContext.Current.Server.MapPath(Confi原创 2014-12-12 11:41:54 · 1361 阅读 · 0 评论 -
Request.Params 说明
Request.Params说明在开发中有时会用到Request.Params["id"]来获取参数,那么到底是从什么地方接收参数呢一般情况下,有三种方式进行参数传递1、GET 方式,通过url传递,如?id=2、POST方式,通过Form传递3、Cookie方式对于GET方式传递的参数,我们使用Request.QueryString["id"]的方式接收参数原创 2014-12-10 11:49:55 · 1514 阅读 · 0 评论 -
C# JSON转换以及编码转换
C# Json转换C#编码转换原创 2014-08-06 19:19:45 · 3499 阅读 · 0 评论 -
C# 下载文件或者图片
C# 通过网络下载文件 /// /// 读取网络上的某一文件获取某个页面 /// /// 要读的url /// private string GetWebContent(string url) { HttpWebRequest request = (HttpWebReq原创 2014-07-23 18:03:08 · 949 阅读 · 0 评论 -
C# 获取图片宽与高
获取网络图片宽与高获取本地图片宽与高原创 2014-07-23 16:11:09 · 6233 阅读 · 0 评论 -
web 上传图片以及裁减
上传图片以及图片的裁减原创 2014-05-04 13:05:20 · 1607 阅读 · 0 评论 -
无刷新上传图片
前台html代码: 无标题页 $(function() { $('#fileUp').change(function() { $('#uploadLog').html('开始上传中....'); $('#formFile').submit();原创 2014-04-30 15:08:45 · 924 阅读 · 0 评论 -
递归构造json字符串
1、首先创建一个临时表,创建临时表的方法,创建代码如下:public string GetString() { string result = string.Empty; DataTable dt = new DataTable();//定义一个表 dt.Columns.Add("ID", typeof(int));//定义列,并且设定列的类型 dt.Colu原创 2013-11-07 10:55:34 · 1032 阅读 · 0 评论 -
IOS文件的上传与下载(二)
上篇博文讲解了一下IOS文件的上传,下面来说一下文件的下载(对于文件的上传与下载在客户端有些代码是重复的)首先说一下文件下载的服务端代码,有多种方法可以实现文件的下载,如下:using System;using System.Collections.Generic;using System.Configuration;using System.IO;using System原创 2014-12-12 11:49:39 · 1168 阅读 · 0 评论 -
C# 流 字符串 字节转换
字节转换为流流转换为字节字符串转换为字节字节转换为原创 2014-07-23 17:41:02 · 989 阅读 · 0 评论 -
C# 流操作
说明:本文章简单总结了在C#编程中经常会用到的一些流。如FileStream、MemoryStream、 BufferedStream、 NetWorkStream、 StreamReader/StreamWriter等的简单用法。内容:FileStream类 FileStream类主要用于读取磁盘上的文件或者向磁盘文件写入信息。有时,我们需要将程序中的一些数据存储到磁盘上或是原创 2015-02-07 11:00:48 · 1257 阅读 · 0 评论 -
未能加载文件或程序集“Office, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”
最近在使用.Net开发项目使需要使用到将数据库中的数据导出为Excel,网上搜索了一下可以使用NPOI 、C#原生代码等。在开发的时候使用了C#原生代码来导出数据库数据到Excel,在网上搜索找了一个Excel.dll,同时又搜索找到一个操作Excel的帮助类,于是将dll引入到项目中,同时将Excel帮助类添加到项目中,很快完成了将数据库中的数据导出为Excel,然后部署到服务器上,在服务器上测试转载 2017-05-17 21:39:43 · 5724 阅读 · 0 评论 -
DropDownList获取value与text
最近在公司原有系统的asp.net框架上维护一个项目,在其中使用到了获取DropDownList选择的value与text,以前一直认为.text是获取text,.SelectedValue是或者value,试了一下发现不对,在此记录一下获取DropDownList的value与text。获取dropdownlist的value: ddl.SelectedValue.ToString()。 获取d原创 2017-05-02 17:20:44 · 2239 阅读 · 1 评论 -
C#Base64编码
一、Base64编码由来 为什么会有Base64编码呢?因为有些网络传送渠道并不支持所有的字节,例如传统的邮件只支持可见字符的传送,像ASCII码的控制字符就不能通过邮件传送。这样用途就受到了很大的限制,比如图片二进制流的每个字节不可能全部是可见字符,所以就传送不了。最好的方法就是在不改变传统协议的情况下,做一种扩展方案来支持二进制文件的传送。把不可打印的字符也能用可打印字符来表示,问题就解决了。原创 2016-04-05 23:21:33 · 767 阅读 · 0 评论 -
C# 实现发送电子邮件以及上传附件
使用C#发送电子邮件,使用微软自带的类库,主要有一下类: 1、微软封装好的MailMessage类:主要处理发送邮件的内容(如:收发人地址、标题、主体、图片等等) 2、微软封装好的SmtpClient类:主要处理用smtp方式发送此邮件的配置信息(如:邮件服务器、发送端口号、验证方式等等) 3、SmtpClient主要进行了三层的封装:Socket --> TcpClient原创 2015-09-25 15:02:22 · 3954 阅读 · 0 评论