自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

朱傲宇的技术博客

学识浅薄,多多指教

  • 博客(28)
  • 收藏
  • 关注

原创 MVC JsonResult的用法

JsonResult类可以将对象转换为json格式返回的类使用post方法即可以读取json数据,默认get方法不可以读取。下面我们来写两个数据,一个是自定义的,一个是从数据库取出来的数据,使用get方法转换为json数据的结果(添加特定代码,即可以通过url调用action,并得到json数据)我们通过url进行访问,结果如下所示。即我们输入的数据后,再获取就能得到json数据的格式。友情提醒,为了数据安全,最好不要开放get方式的请求许可。...

2020-11-09 10:48:37 1104

原创 MVC javascriptresult的应用

在mvc里,可以使用javascriptresult类完成js代码的调用。如下所示,创建一个类,并输入js的代码。创建完成后就是调用问题了,在需要调用的html界面,在引用jq代码的下面,输入如下代码完成对这个类里js代码的调用。因为html代码的调用是自上而下,因此,写调用代码的时候写下在引用jq代码的下面,否则未引用jq代码会导致引用代码无效果。在浏览器输入html对应url效果如下所示,看到我们的js代码已经被调用...

2020-11-07 14:48:05 187

原创 MVC 表单和HTML辅助方法(2)dropdownlist和listbox

上一节我们展示了一些表单的常用控件,现在我们来在表单里添加dropdownlist和listbox。第一步,添加数据源这里我的数据源是与项目分开的,我把所有跟数据库等数据有关的都单放在一个类库文件里,不知道类库怎么创建引用的同学参考文章:ASP.NET MVC项目——类库项目的引用。在类库项目里添加bll文件夹,在bll文件夹里新增listhelper类。把dropdownlist和listbox的数据源文件就写在listhelper类里。因为我是在类库文件夹加数据源,所以需要先添加MVC的引用,然

2020-11-05 11:01:15 228

原创 MVC FileResult的用法

在MVC中,fileresult多用于文件下载,下面我来演示下文件的下载案例首先,我们在解决方案里添加我们要上传的文件,例如我添加的就是一个名为text的txt类型文件。然后,创建一个fileresult,名称为download,在代码里首先写的是路径名,其次写的是文件的类型,最后写的是下载时出现的名称。因为我是在根目录里的txt,所以我的路径为~/text.txt。txt文件类型对应的代码为text/plain,如果你穿的不是txt文件,时候ppt或其他类型,你可以百度:MIME 参考手册,如下

2020-11-04 16:18:41 1427

原创 MVC网页跳转方式

在mvc里,我们创建了action后,如果想跳转到不同的网页,有两种方式提供选择。第一种,通过url进行跳转即RedirectResult("/控制器名/action名");第二种,通过路由进行跳转即在RedirectToAction( “action的名”, “控制器的名”)相比较第一种方法,第二种更好一点。因为我们常规的路由规则是先输入控制器名后actio名,如下图所示。当路由规则改变了,即先action名,后控制器名,则第一种方法就会失效。因此个人建议第二种方法跳转。...

2020-11-03 18:32:09 2942

原创 MVC 表单和HTML辅助方法(1)

在mvc的视图view里,创建表单时可以使用系统提供的方法快捷创建表单,这里,我们创建一个表,并与传统的html元素中的表单做对比。第一步,创建表单创建一个view控制器,在控制器里为名为Index的action创建视图。视图里添加表单。一些注意事项我在截图的注释里也展示了。第二步,传输数据这里我们把Index视图里表单的数据提交的到submit,并不是本视图,所以我们在控制器里创建submit,但由于是post请求获取数据,所以我们submit获取的数据需要再创建一个视图进行展示,因为我们又创

2020-11-03 16:10:49 232

原创 .NET Core的路由访问规则

.net core的路由有两种一种是使用系统命名的默认,即域名+controller+action如访问homecontroller里的index,则url为:域名/home/index另一种就是用户自定义的路由,即使用[Route(“名称”)]自定义controller和action的名称。如下面代码所示,我定义了Home的名称为Home1。把输入为1234的界面设为Index。我们在url中输入:域名/Home1/Index使用自定义的路由还有一点好处是可以加一些验证。例如我们正常访问

2020-11-01 14:54:41 878

原创 .NET Core的路由知识

首先我们要知道我们.net core的url访问规则我们所有的请求都是先交给服务器,然后由服务器交给controllers进行处理所以我们的url命名规则是域名+controller名+action名+参数(可以省略)在.net core中,如果直接访问域名,默认返回的是系统里的hello world。我们想让系统访问我们的域名时默认跳到我们想让用户看到得action怎么处理呢?第一步是先注入MVC服务器组建依赖。即在Startup.cs文件里添加如下代码这里我添加MVC依赖的代码有点长,目的

2020-11-01 11:02:56 666

原创 MVC Redirect方法的应用

ContentResult对应方法Content,返回自定义文件类型返回文本内容。

2020-10-28 15:37:13 430

原创 MVC PartialviewResult的使用方法

PartialviewResult 对应的方法PartialView,去执行某个视图(不套用母版),把视图结果返回。多用于嵌套在其他视图做展示。我们来看一下普通的View和PartialView的区别。首先我们创建一个action,然后创建一个视图,多余的代码不添加,如下图所示创建的视图里默认只有一个Html标签。我们运行的结果如下所示。在浏览器里自动加了一个头,一个尾,这就是套用的母版。接下来我们修改下代码,返回不套用母版的视图。即改为PartialView;运行的结果如下所示。没有套用

2020-10-27 22:17:11 1024

原创 MVC ViewResult的三种应用

第一种是控制器什么都不返还给视图return View();不返回给视图任何值;第二种是返回给视图一个强类型数据这种一般用于展示数据库的数据。先定义一个变量接收数据,然后return数据,并且,在创造View时选择抢类型数据,根据需要选择不同的强类型。如下面这段代码,我从数据库里查出一个图书列表,则向视图传递这个列表。在创建视图时,因为要展示,所以我在模板选项中选择了List,并且数据来源选择了我自己定义的数据来源。第三种是返回不同的视图在默认情况下,视图返还为与action同名的视图,但

2020-10-27 16:46:21 1075

原创 .NET Core 里 普通类如何变成API控制器类

首先,我们来创建一个普通类与API控制器接口类作对比。下图所示,是一个刚创建的普通类。我们创建一个空的API接口类。如下图所示,相比于普通类,最大的区别是在先使用Route标明地址,然后在类名后面继承了控制器类。所以,我们的普通类要想改变为API控制器类,首先第一步就是标明自己的地址,即使用[Route(“自定义位置”)]。其次,是声明自己是一个API控制器类,声明方式分为三种,下面一一列举。第一种:直接声明法即在类上面写上[Controller]表示类是一个API控制器接口类第二种:继承

2020-10-26 09:09:15 421

原创 MVC缓存过滤器之数据库缓存

对于一些数据库更新慢的网站,为了减缓服务器压力,我们可以设置为数据器缓存,在设置的规定时间内,若数据库没有更新,则刷新请求不会传到服务器。若规定时间内数据库数据变动,则以表动后的第一次刷新请求为准,重新计时。第一步,配置数据库的缓存功能。我们首先找到cmd,并以管理员的身份运行。然后在cmd里输入如图所示的代码。Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regsql.exe 表示文件位置,-S 后面是服务器名,-U 后面是连接服务器的登

2020-10-24 08:25:50 263

原创 MVC缓存过滤器的使用

相关属性介绍Duration 缓存内容过期时间(秒)Location 缓存的位置(客户端/服务器)VaryByParam 通过客户端请求参数的不同值来缓存多份数据VaryByHeader 通过RequestHeader的参数的不同取值来缓存多份数据CacheProfile 将缓存配置写到配置文件中,引用配置文件的配置属性SqlDependency 数据库缓存,缓存依赖的表名使用缓存过滤器可以减少服务器高并发的压力用法1:设置缓存内容周期如下图所示,在需要缓存得action上方写上如下所示代

2020-10-23 07:52:15 186

原创 MVC使用异常过滤器处理异常

在mvc的开发过程中,我们可能会遇到一些代码错误导致的异常,如下图所示,展示了一个除数为0的异常。在mvc里,自动为我们提供了一种异常处理器,并且应用在所有控制器上。我们开发时所有的错误都由它捕捉并展示,因此我们看到运行这个action的界面如下所示。在给用户使用之后,可能还会出现其他错误,这样处理错误的界面客户可能并不喜欢。因此我们可以把错误的界面处理下,自定义一个异常处理器并配置异常处理的action界面。第一步,先创建一个异常处理过滤器。在Filters文件夹里创建类,类名为 自定义+

2020-10-22 18:17:05 332

原创 MVC使用动作过滤器和结果过滤器计算action和view运行花费的时间

首先,我们来使用动作过滤器计算action运行需要的时间第一步,创建动作过滤器。在项目里创建Filters文件夹用于存放过滤器,然后创建后缀为Attribute的类名,我创建的是myActionAttribute.cs。在创建的类名后面添加接口FilterAttribute(需要using引入命名空间)和IActionFilter表明是动作过滤器。选中IActionFilter,右键,快速操作和重构,实现接口,就快快速创建两个方法,一个用于执行action之前。一个用于执行action之后。如下图所示

2020-10-22 14:24:06 224

原创 MVC授权过滤器的应用

MVC过滤器的应用分文三种。例如我们已经创建了一个名为diyAuthAttribute的过滤器用于判断用户是否登录。如下图所示。第一种:单个action应用在控制器里找到对应的action,在上面写上过滤器名,如下图所示,此控制器内所有action只有booklist具有过滤器。第二种:单个控制器内的所有action具有过滤器。在控制器名称上面添加过滤器名,如下图所示,在store这个控制器里所有的action都具有过滤器。第三种,解决方案里所有的控制器里的所有action里都具有过滤器。

2020-10-21 20:30:38 261

原创 MVC简单的登录验证实例

在开始实例之前,我们应该先准备好一个可以访问的控制器,并创建action和对应的视图,我们假设这个action是我们登陆后要访问的界面。(本文以store控制器的bookliset为目标action)第一步,创建控制器,右键点击自己的项目名,创建文件夹Filters,在此文件夹里创建类,命名格式为 自定义文字+Atttibute.cs,例我创建的类名为diyAuthAttribute.cs.代码如下所示,diyAuthAttribute后面的FilterAttribute表示是控制器,IAuthoriz

2020-10-21 08:18:33 949 1

原创 MVC动作名称选择器

当ActionInvoker选取Controller中Action时,默认会应用反射机制找到相同名字的方法,这个过程就是动作名称选择器(Action Name Selector)运作的过程,选择查找过程对Action的名称字符大小写不进行区分。代码:public class EmptyTemplateController : Controller{public ActionResult Index(){return View();}}有时,可能需要修改已完成方法的Action名称,但并不

2020-10-20 19:31:46 258

原创 MVC控制器概述

ASP.NET MVC的核心就是Controller(控制器),它负责处理客户端(常常是浏览器)发送来的所有请求,并决定将什么内容响应给客户端,通过这种方式,Controller负责响应用户的输入,并且在响应时修改Model,把数据输出到相关的View。MVC架构中的Controller主要关注应用程序流入、输入数据的处理,以及提供向View输出的数据。控制器(Controller)本身是一个派生于Controller的类,这个类包含有多个方法,这些方法中声明为public的即被当作动作(Action),

2020-10-20 10:34:18 2035

原创 基于EntityFramework的数据模型 – 新增

基于ASP.NET MVC项目——类库项目里添加EF模型文章我们来探讨下EF数据的新增。1、创建上下文对象2、创建对应的数据模型对象及属性赋值(非空字段必须赋值,自增不要要赋值),如果新增对象以参数传入,则省略此步代码3、添加模型对象到山下文对象对应模型对象集合中4、保存上下文对象。在上篇文章中,我们连接数据库时在App.config文件里我们对数据库的命名为dbEntities我们新增表为数据库里的Book表。我们首先创建一个新增这个表的方法,方法里要传入新增数据的参数。public

2020-10-19 18:34:32 238

原创 ASP.NET MVC项目——类库项目里添加EF模型

我们之前已经创建了类库文件,并进行了引用,因此,我们现在要做的就是在类库项目里添加EF数据模型。1,点击类库文件,右键,添加,新建项,选择ado.net实体数据模型。选择EF设计器,点下一步输入要连接的数据库名称,并寻找选择连接方式,选择需要的数据库名称,点击连接。这里要注意,两点,第一点是如果你选择了是,则在连接字符串里就会出现你连接数据库的账户名和密码,如果是账户密码连接数据库的,建议选择是。第二就是修改App.config里的名称,也是要保留关键词Entities.选择需要使用的表或视

2020-10-19 08:11:26 876 2

原创 基于EF数据模型的数据查询

1、所有列var result=from a in dc.模型对象集合 select a;2、查询部分列var result=from a in dc.模型对象集合 select new{a.属性1,a.属性2,…}3、条件查询var result=from a in dc.模型对象集合 where 条件查询 select a;4、排序和分页(默认升序),只有排序后才能分页var result=(from a in dc.模型对象集合 order by a.属性 select a).Skip(

2020-10-18 08:42:43 521 1

原创 初识ASP.NET MVC项目开发(在线书店)一

在线书店是一个完整的ASP.NETMVC项目,其中包括购物,结账和管理等功能。通过一个简化版的在线书店项目实例,简要介绍ASP.NETMVC项目的开发过程,对ASP.NETMVC项目开发有个简单的认识。我使用的是vs2019版本,所有所有截图都是2019版本的截图(1)第一步,打开vs创建我们的项目选择c#,点击asp.net web(.net framework)程序,点下一步,创建,选择位置,并为解决方案命名。在这里我们选择一个MVC模板。我们在解决方案的Controllers文件选中,右

2020-10-17 08:16:24 1274 4

原创 ASP.NET MVC项目——类库项目的引用

在项目开发过程中,可以把数据模型等独立一个类库项目,和业务逻辑类放在一起,方便代码的测试与共享。点击解决方案,右键,添加项目,选择C#中的类库(.net framework),这是修改命名要注意,名称要保留Library,例如dbLibrary、dcLibrary.创建好类库项目后,需要引用到我们的项目里面去。在我们的项目里,选择引用里,点添加引用,项目,解决方案,选择我们需要的,点确定。这样我们的类库就引用到项目里了。...

2020-10-16 20:36:15 1153 1

原创 数据库优化(下)

(9) in 和 not in 也慎用,否则导致全表扫描·如where num in (1,2,3) 改为 where num between 1 and 3 ,对于连续数值,能用between不用in·exists代替in是一个好的选择,exists效率高(10) like操作,%在前面无法利用索引,例如like’%a’不使用索引(11) union 和 union all区别union 自动压缩多个结果集合中的重复结果union all 则将所有的结果全部显现出来用union all代替u

2020-10-16 13:13:23 125

原创 数据库的优化(上)

(1)按需求索取字段,少用select *用具体字段代替 * ,不要返回用不到的任何字段count(*)会引起全盘扫描,并且没有任何业务意义,用count(1)代替(*)(2)规范大小写 from和From,统一大小写(3)不要把SQL语句写的太复杂越简单的SQL语句被重用的可能性越高(4)对查询进行优化,尽量避免全表扫描,首先应该考虑where及order by涉及的列上建立索引(5)应尽量避免在where子句中使用null值!或者<、>操作符进行判断,否则放弃使用索

2020-10-15 22:11:05 139

原创 数据库字符类型char和varchar的区别

数据库字符类型char和varchar的区别charchar数据类型用来存储长度为n个字节的固定长度非Unicode字符数据,每个字符占一个字节。当定义一列为此类型时,必须制定列长,否则默认长度为1,格式:char[(n)]说明:n:1~8000varcharvachar数据类型同char一样,用来存储非统一编码型字符数据。以char型不一样,此数据类型为变长。当定义一列数据为该数据类型时,你要制定该列的最大长度。它与char最大的区别在于,存储的长度不是列长,而是数据的实际长度。格式:var

2020-10-15 18:29:43 922

空空如也

空空如也

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

TA关注的人

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