MVC学习
文章平均质量分 94
Archy_Wang_1
有些代码不应该被忘记,也没有源代码不应该被记住。
展开
-
MVC常见问题小总结
最近刚开始在项目中使用MVC,(ps:不要笑我老土啊)。使用的过程中遇到了一些小问题,记录下来以便日后翻阅。在MVC中项目中使用JQuery,$.Post方法提交数据时产生中文乱码现象? 解决方法:在$.post时进行数据编码,使用escape方法$.post("@Url.Action("AddFriendLink" , "Setup")" ,{"Na转载 2016-10-27 15:10:41 · 559 阅读 · 0 评论 -
ASP.NET MVC5 网站开发实践(二) Member区域 - 用户部分(2)用户登录、注销
上次实现了用户注册,这次来实现用户登录,用到IAuthenticationManager的SignOut、SignIn方法和基于声明的标识。最后修改用户注册代码实现注册成功后直接登录。一、创建ClaimsIdentityClaimsIdentity(委托基于声明的标识)是在ASP.NET Identity身份认证系统的登录时要用到,我们在UserService中来生成它。1、打开...原创 2019-03-27 11:10:47 · 219 阅读 · 0 评论 -
ASP.NET MVC5 网站开发实践(四) Member区域 - 用户部分(3)修改资料、修改密码
在上一篇博客中实现了用户的注销和登录,其实代码里落了点东西,就是用户登录要更新最后一次登录时间和登录IP,这次补上。今天做修改资料和修改密码,TryUpdateModel是新用到的东西。现完善昨天的登录代码:一、用户导航菜单这个就是侧栏的导航,以后所有控制器中action名都为Menu。目标效果如下:先UserController添加Menu action。直接...原创 2019-03-27 11:13:02 · 437 阅读 · 0 评论 -
ASP.NET MVC5 网站开发实践(五) Member区域 - 文章管理架构
一、总体说明先看一下文章管理设想要实现的功能:再看一下类图这里Category是栏目;CommonModel是公共模型;Article是文章;Attachment是附件;CommonModel是内容管理这块抽取出来的公共部分,像文章,咨询甚至产品都有一些共同的内容这里把它单独提取出来作为一个类。CommonModel可能包含一片文章,包含一组附件,包含一系列评论,他们之间的...原创 2019-03-27 11:15:21 · 331 阅读 · 0 评论 -
ASP.NET MVC5 网站开发实践(六) Member区域 - 添加文章
上次把架构做好了,这次做添加文章。添加文章涉及附件的上传管理及富文本编辑器的使用,早添加文章时一并实现。要点:富文本编辑器采用KindEditor。功能很强大,国人开发,LGPL开源,自己人的好东西没有理由不支持。 附件的上传同样基于KindEditor实现,可以上传图片,flash,影音,文件等。一、添加文章1、KindEditor富文本编辑器到官方网站http://kind...原创 2019-03-27 11:27:08 · 221 阅读 · 0 评论 -
ASP.NET MVC5 网站开发实践(七) Member区域 - 全部文章列表
显示文章列表分两块,管理员可以显示全部文章列表,一般用户只显示自己的文章列表。文章列表的显示采用easyui-datagrid。后台需要与之对应的action返回json类型数据全部文章列表效果图用来显示所有的文章 界面采用easyui-datagrid,可以进行栏目,标题,录入,发布时间的查询1、在IBLL在InterfaceCommonModelService接口...原创 2019-03-27 11:29:05 · 262 阅读 · 0 评论 -
ASP.NET MVC5 网站开发实践(八) Member区域 - 修改及删除文章
一、删除文章由于公共模型跟,文章,附件有关联,所以这里的删除次序很重要,如果先删除模型,那么文章ModelID和附件的ModelID多会变成null,所以要先先删除文章和附件再删除公共模型。由于公共模型和附件是一对多的关系,我们把删除公共模型和删除附件写在一起。在BLL的BaseRepository类中有默认的Delete方法,但这个方法中仅删除模型,不会删除外键,所以在CommonM...原创 2019-03-27 11:30:57 · 212 阅读 · 0 评论 -
ASP.NET MVC5 网站开发实践(九) Member区域 - 咨询管理的架构
一、总体说明1、实现功能2、类图由于文章部分把大部分类都是实现了,这里仅多了一个Consultation类。二、创建咨询模型类在Ninesky.Models项目添加类Consultation(咨询模型),该模型跟Article类似都是CommonModel的扩展。1、添加Consultation类。using System;using Sy...原创 2019-03-27 11:32:02 · 176 阅读 · 0 评论 -
ASP.NET MVC5 网站开发实践(十) Member区域–我的咨询列表及添加咨询
一、菜单打开上次添加的ConsultationController控制器,添加Menu action,返回分布视图/// <summary> /// 菜单 /// </summary> /// <returns></returns> public ActionResult...原创 2019-03-28 09:01:08 · 229 阅读 · 0 评论 -
ASP.NET MVC5 网站开发实践(十一) Member区域–管理列表、回复及删除
一、管理列表跟上次我的列表相似,直接贴代码了。首先打开Consultation控制器,添加ManageList方法/// <summary> /// 咨询管理 /// </summary> /// <returns></returns> public ActionResul...原创 2019-03-28 09:01:55 · 230 阅读 · 0 评论 -
ASP.Net MVC 网站中配置文件的读写
网站中有很多需要设置的内容,像网站信息,注册设置,上传设置等。如果保存在数据库中需要单独建张表,表中只有一条记录,这样会让数据库很臃肿,而且频繁存取数据库的效率也是个问题。而保存在config文件里是个不错选择,而且带有缓存功能!我们可以在web.config的配置节写入配置。<configuration> <configSections> <s...原创 2019-03-28 09:01:44 · 2067 阅读 · 1 评论 -
ASP.NET MVC5 网站开发实践 - 概述
目录:ASP.NET MVC5 网站开发实践 - 概述ASP.NET MVC5 网站开发实践(一) - 项目框架ASP.NET MVC5 网站开发实践(二) - 框架(续) 模型、数据存储、业务逻辑ASP.NET MVC5 网站开发实践(三-I) - 用户部分(1)用户注册ASP.NET MVC5 网站开发实践(三-II) - 用户部分(2)用户登录、注销ASP.NE...原创 2019-03-28 09:01:31 · 1104 阅读 · 0 评论 -
ASP.NET MVC5 网站开发实践(三-II) Member区域 - 用户部分(2)用户登录、注销
上次实现了用户注册,这次来实现用户登录,用到IAuthenticationManager的SignOut、SignIn方法和基于声明的标识。最后修改用户注册代码实现注册成功后直接登录。一、创建ClaimsIdentityClaimsIdentity(委托基于声明的标识)是在ASP.NET Identity身份认证系统的登录时要用到,我们在UserService中来生成它。1、打开...原创 2019-03-28 09:01:22 · 271 阅读 · 0 评论 -
细说MVC中仓储模式的应用
概述要点设计模式的产生,就是在对开发过程进行不断的抽象。我们先看一下之前访问数据的典型过程。在Controller中定义一个Context, 例如:private AccountContext db = new AccountContext();在Action中访问,例如获取用户列表:var users=db.SysUsers;类似于这种,耦合性太高。业务逻辑直接...原创 2019-06-01 08:19:16 · 1373 阅读 · 0 评论 -
ASP.NET MVC5 网站开发实践(三-I) Member区域 - 用户部分(1)用户注册
一、默认Web项目的更改在上一次中我们创建了一个使用个人用户账户的mvc项目,通过分析自动生成的用户管理代码(见《VS2013中web项目中自动生成的ASP.NET Identity代码思考》),我觉用户这部分还是自己做,所以删除自动生成的用户相关代码。二、添加Member区域在web项目上点右键 添加 区域Member。添加Home控制器,选择MVC5控制器-空...原创 2019-03-27 11:07:49 · 462 阅读 · 0 评论 -
ASP.NET MVC5 网站开发实践(二) - 框架(续) 模型、数据存储、业务逻辑
上次搭建好了项目框架,但还是觉得不太对劲,后来才想起来没有对开发目标进行定位,这个小demo虽然不用做需求分析,但是要实现什么效果还得明确。后来想了一下就做个最简单的网站,目标定为小公司进行展示用的网站。功能有显示用的文章功能(新闻、产品展示、公司介绍等),咨询留言,评论等,另外还包括用户管理,网站设置这两个部分,算是个极简的网站吧。前面项目的层次和调用关系都说明了,关系如下图采...原创 2019-03-27 11:04:39 · 620 阅读 · 5 评论 -
MVC Razor模板引擎 @RenderBody、@RenderPage、@RenderSection及Html.RenderPartial、Html.RenderAction
@RenderBody 当创建基于_Layout.cshtml布局页面的视图时,视图的内容会和布局页面合并,而新创建视图的内容会通过_Layout.cshtml布局页面的@RenderBody()方法呈现在标签之间。 @RenderPage从名称可以猜出来这个方法是要呈现一个页面。比如网页中固定的头部可以单独放在一个共享的视图文件中,然后在布局页面中通过这个方法调用,用法如下:原创 2017-05-26 13:38:31 · 802 阅读 · 0 评论 -
MVC框架的原理详解
阅读目录一、MVC原理解析1、MVC原理二、HttpHandler1、HttpHandler、IHttpHandler、MvcHandler的说明2、IHttpHandler解析3、MvcHandler解析三、HttpModule1、HttpModule能干什么2、HttpModule的使用3、HttpModule和HttpHandler如何区分4、UrlR原创 2017-05-26 18:02:11 · 27799 阅读 · 1 评论 -
MVC使用SignalR 提高B2C商城用户体验1
vs2010 使用SignalR 提高B2C商城用户体验1、需求简介,做为新时代的b2c商城,没有即时通讯,怎么提供用户粘稠度,怎么增加销量,用户购物的第一习惯就是咨询,即时通讯,应运而生。这里使用SignalR来实现即时通讯,再好不过了,不过项目依然简历在2010的基础上,所以不能使用新版本的SignalR了,这里介绍一下1.0.0版本的。2、整个框架大概是这样搭建的,欢迎拍砖:原创 2017-05-19 14:36:56 · 427 阅读 · 0 评论 -
MVC使用SignalR 提高B2C商城用户体验2
上一节,已经实现了,当前域内的通信,这一节中,介绍一下跨域的即时通信,既然要做,我们肯定要把这个推送及聊天服务器做为一个单独的服务器,以方便扩展使用,这样就要使用跨域技术,既然基于ajax,那么跨域肯定是基于jsonp,下面我们介绍一下跨域的基本配置:1、服务器的配置,我们打开项目中的Global.asax,在Application_Start中做如下配置: 1 protect原创 2017-05-19 14:43:55 · 418 阅读 · 0 评论 -
MVC使用SignalR 提高B2C商城用户体验3
上一章节,我们的web即时通讯已经可以实现跨域了,但针对我们的需求,还希望,一些客户端程序可以和我们的web用户,在线聊天,所以到SignalR官网,查阅文档,当然,还有版本限制,限制都是SignalR 2.0了,我们1.几版本的能不能完美支持呢? 看到了这些内容,感觉是不是很惊喜,全端支持我们来看.NET Library,大概浏览一下,启动VS,新建一个WinForm程原创 2017-05-19 14:45:11 · 483 阅读 · 0 评论 -
Asp.net MVC 自定义ViewEngine的简单实现
Asp.net MVC 网站换肤需要使用不同模板,可以通过自定义视图引擎来实现这个功能。这里我偷懒,直接继承 VirtualPathProviderViewEngine来实现。 核心代码如下: ThemeViewEngine.cs 1 2 3 4 5 6 7 8 9 10 11 ...原创 2017-05-31 11:36:57 · 2081 阅读 · 0 评论 -
AspNet MVC中各种上下文理解
AspNet MVC中比较重要的上下文,有如下:核心的上下文有HttpContext(请求上下文),ControllerContext(控制器上下文)过滤器有关有五个的上下文ActionExecutingContext,ActionExecutedContext,ResultExecutingContext,ResultExecutedContext,ExceptionContext视图相原创 2017-05-31 13:41:41 · 2179 阅读 · 0 评论 -
MVC框架路由的讲解
在ASP.NET Web窗体应用程序中,每个URL都必须与特定的.aspx文件匹配。例如,URL地址: http://domain/studentsinfo.aspx必须与包含用于呈现对浏览器的响应的代码和标记的文件studentinfo.aspx相匹配。叙述 ASP.NET引入了路由,以消除将每个URL映射到物理文件的需求。路由使我们能够定义映射到请求处理程序的URL模式。这个请求处理程...转载 2018-02-27 14:21:56 · 2232 阅读 · 0 评论 -
ASP.NET MVC 中使用Crystal Report水晶报表
项目源码下载:https://github.com/caofangsheng93/CrystalReportInMac前提条件:你需要有VS,SQL Server 当然最重要的就是安装Crystal Report。这里我提供我百度网盘的安装文件:http://pan.baidu.com/s/1bpcK3ZD,我这里是Crystal Report for VS2013的版本。需要其他的版本大...原创 2018-10-24 16:13:48 · 2227 阅读 · 0 评论 -
MVC| Razor 布局-模板页 | ViewStart.cshtml
ViewStart.cshtml视图页面要点1MVC中执行任何一个视图之前都要先执行Views文件夹下的_ViewStart.cshtml 视图的内容注意点:想要上面的描述成立,则在action方法中必须以return View()来返回视图。如果是以PowerView() 方法来返回视图的话,则不会执行_ViewStart.cshtml 中的内容 public cl...原创 2019-03-11 08:47:11 · 683 阅读 · 0 评论 -
MVC 使用ClaimsIdentity来实现登录授权
背景:以前做登录时用的都是FormsAuthentication.SetAuthCookie(model.UID, IsRemeber),但是有一个不好,不能存储多个值,有时候我们既想存储登录用户的UID又想存储用户名,以前都是将两者拼接成字符串,用的时候在split出来,比较麻烦,现在用ClaimsIdentity就很方便。1、登录时验证通过存储 ClaimsIdentity ci ...原创 2019-03-25 13:07:03 · 3678 阅读 · 0 评论 -
C# 如何保证对象线程内唯一:数据槽(CallContext)
如果说,一个对象保证全局唯一,大家肯定会想到一个经典的设计模式:单例模式,如果要使用的对象必须是线程内唯一的呢? 数据槽:CallContext,ok看下msdn对callcontent的解释。 CallContext是类似于方法调用的线程本地存储区的专用集合对象,并提供对每个逻辑执行线程都唯一的数据槽。数据槽不在其他逻辑线程上的调用上下文之间共享。当CallContext沿...原创 2019-03-23 16:23:11 · 1152 阅读 · 0 评论 -
ASP.NET MVC5 网站开发实践(一) - 项目框架
一、基本框架还是先说下基本框架吧,一下子搞了7个项目看着挺乱的,我的理解是M、V、C 3者中,M是数据载体,V是用户要看的试图,C主要是协调控制与用户界面相关的操作,而数据的处理,数据库的的操作交给DAL、BLL来做。整个思路就是:View是用户看到的界面;Controller负责协调用户操作的东西,需要或处理数据时找业务逻辑层;业务逻辑层需要访问数据库时又找数据访问层;数据访问层通过EF与S...原创 2019-03-27 11:00:28 · 800 阅读 · 0 评论 -
MVC基于EF的架构
文章提纲概述 & 要点详细步骤总结概述 & 要点下面是本文要点,正文部分会有详细介绍。 EF架构图 新建基于EF的Data Model的约定 关于ORM的重要概念,和传统方式开发的区别 EF开发的整体过程 详细步骤 新建文件夹,规划好代码摆放位置 创建相关类 (Data Model) 创建 Dat...原创 2019-06-01 08:26:39 · 711 阅读 · 0 评论