正式学习MVC 06】的更多相关文章

1.Model常用属性讲解 using System; using System.ComponentModel.DataAnnotations; namespace MVCStudy2.Models { public class Student { [Required(ErrorMessage = "这是必填项")] [RegularExpression(@"^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$)",E…
1.新建项目 点击创建新项目,选择ASP.NET web应用程序,对项目进行命名后点击创建. 截图如下: 取消勾选HTTPS配置 可选择空 + mvc 或直接选定MVC 2.目录结构分析 1) App_Start 配置文件夹. BundleConfig.cs 打包器(css,js等) // ScriptBundle:脚本打包器(导入目录名).includes(所引入目录路径) bundles.Add(new ScriptBundle("~/bundles/jquery").Includ…
1.剃须刀模板razor的使用 1)混编 循环语法 @model List<MVCStudy.Models.Student> @{ ViewBag.Title = "List"; } <h2>List</h2> <!--循环遍历数组内容 c#与HTML混编--> <ul> @foreach (var stu in Model) { <li>@stu.Name</li> } </ul> pub…
1.cookie 继续讲解MVC的内置对象cookie 相对不安全 1)保存cookie public ActionResult Index() { // 设置cookie以及过期时间 Response.Cookies.Add(new HttpCookie(name: "userId") { Value = "128idn62dx", Expires = DateTime.Now.AddDays() }); return Content("ok!"…
1.ActionResult ActionResult是一个父类, 子类包括了我们熟知的 ViewResult 返回相应的视图 ContentResult  返回字符串 RedirectResult( return Redirect(url:xxxx))  重定向 RedirectToRouteResult (return RedirectToAction(actionName,controllerName:xxx))  根据路由重定向 FileResult 向客户端输出文件 JsonResul…
1.View -> Controller的数据通信 1) 通过url查询字符串 public ActionResult Index(string user) { return Content(user); } 2)通过post方式传递 ViewBag.Title = "ShowForm"; } <h2>ShowForm</h2> <p>your form data will be deliver to Index</p> <f…
一.概述 上篇博文<白话学习MVC(七)Action的执行一>介绍了ASP.NET MVC中Action的执行的简要流程,并且对TempData的运行机制进行了详细的分析,本篇来分析上一篇中遗留的[3-2.ActionInvoker.InvokeAction(ControllerContext, actionName)]部分的内容,其中包含了Action的执行.过滤器的执行.View的呈现(下节介绍). public abstract class Controller : Controller…
本节将接着<白话学习MVC(九)View的呈现一>来继续对ViewResult的详细执行过程进行分析! 9.ViewResult ViewResult将视图页的内容响应给客户端! 由于ViewResult的View呈现过程比较复杂,在此先大致描述一下整个流程: 获取视图引擎,默认有两个:ASPX引擎.Razor引擎. 根据视图页名称,通过视图引擎去检查是否存在对应的视图页,如果存在,则创建视图对象.如果不存在,则将所有视图引擎寻找过的路径作为异常返回. 创建视图对象之后,处理视图页中的内容(先…
在上一篇<学习MVC之租房网站(一)-项目概况>中,确定了UI+Service的“双层”架构,并据此建立了项目 接下来要编写Common类库.配置AdminWeb和FrontWeb 一.编写Common类库 验证码和计算MD5没什么好说,直接从网上复制来的~.~ 以后会逐步扩充,把公用的方法都放到这儿 二.配置AdminWeb和FrontWeb 1. EF和连接字符串 a. EF直接从NuGet安装,EF默认与SqlServer对接,便不需要做额外的配置了 b. 连接字符串: <addn…
一.概述 本节来看一下ASP.NET MVC[View的呈现]的内容,View的呈现是在Action执行之后进行,Action的执行生成一个ActionResult,[View的呈现]的功能就是:通过InvokeActionResult方法对[Action的执行]中生成的ActionResult进行处理.(ActionResult泛指那些继承自抽象类System.Web.Mvc.ActonResult的类的实例) 为了会纵观[View的呈现]在全局中的位置,下面我们再来回顾下处理请求的整个流程:…
一.概述 在此系列开篇的时候介绍了MVC的生命周期 , 对于请求的处理,都是将相应的类的方法注册到HttpApplication事件中,通过事件的依次执行从而完成对请求的处理.对于MVC来说,请求是先 经过路由系统,然后由一个MvcHandler来处理的,当请求到来时,执行此MvcHandler的ProcessRequest方法(因为已将 MvcHandler类的ProcessRequest方法注册到HttpApplication的事件中,所以事件的执行就触发了此方法).详细请看之前介绍MVC生…
磨刀不误砍柴工,咱先把react-redux里的工具函数分析一下: 源码点这里  shallowEqual.js export default function shallowEqual(objA, objB) { if (objA === objB) { return true } const keysA = Object.keys(objA) const keysB = Object.keys(objB) if (keysA.length !== keysB.length) { return…
为什么要加这个必读!因为webpack本身是基于node环境的, 里面会涉及很多路径问题,我们可能对paths怎么写!webpack又是怎么找到这些paths的很迷惑. 本文是我已经写完正式学习React(五)后新加的!我觉得很有必要让大家知道! ------------------------------------------------------------------------------------------------------ nodejs require执行流程  ===…
在上一篇<学习MVC之租房网站(二)-框架搭建及准备工作>中,搭建好了项目框架,并配置了EF.Log4Net和进程外Session.接下来会编写Eneity类并采用CodeFirst的方式创建数据库. 一.数据库表结构举例 1. 在按照CodeFirst方式编写Entity类之前,仍然是需要先搞清楚数据库的表结构.首先肯定会有用户.管理员.角色.权限等相关的表,然后针对租房的特殊场景,还有房屋.房屋家电配置.房子所在的地址包括城市和区域等. 2. 这里面有两张表比较特殊,T_Settings和…
在上一篇<学习MVC之租房网站(三)-编写Eneity类并创建数据库>中,记录了编写Eneity类并采用CodeFirst的方式创建数据库的过程,接下来就到了Service层的实现了,并且在开始后续工作前,首先进行充分的单元测试. 长久以来,一直为写出很多bug而苦恼,这儿用过单元测试后,惊喜地发现,这不正是保证代码质量的好方法嘛,虽然会耗费额外的时间,但决定以后要把单元测试运用到工作和学习的实践中. 一.实现Service层 1. 为了减少模块.层之间的耦合,在Service层上面增加了IS…
在上一篇<学习MVC之租房网站(四)-实现Service层并进行单元测试>中,记录了实现Service层并进行单元测试的过程,接下来该到"正题"-MVC了,也就是UI层的开发. 网站分为前台.后台两部分,因为后台涉及到一些在业务上来说基础的东西,比如用户管理.房源编辑等,所以先完成后台UI即AdminWeb项目.那么就从权限.角色.用户这一块开始了. 一.用户管理 只通过对与用户管理相关的功能的开发,来回顾MVC的基本操作. 1. Controller 添加AdminUse…
在上一篇<学习MVC之租房网站(五)-权限.角色.用户管理>完成了权限.角色.用户的增删改查,现在将基于前面完成的内容,进行后台用户登录和权限控制功能的开发. 一.用户登录 用户登录涉及到密码的MD5校验.验证码.Session的保存等.基本过程为检查输入数据的合法性(前端用Validform控件.后端用DataAnnotation标签),合法性检查通过之后对比验证码然后对比用户名和密码,如果吻合则记录Session,登录成功,跳转到首页. 主要注意验证码的问题,一次登录失败后,要立即刷新验证…
在上一篇<学习MVC之租房网站(六)-用户登录和权限控制>完成了后台用户登录和权限控制功能的开发,接下来要完成的是房源的管理,用户在后台新增.编辑房源信息,供前台用户操作. 一 房源管理 1 房源列表的显示和删除比较常规,但事后也有一些需要注意的地方 a) 关于分页,因为很多地方都会用到,于是封装好以便统一使用. 为了保证输出的html文本能被正确渲染,使用了@Html.Raw()方法,分页信息使用ViewBag从Controller传递过来,虽然ViewBag是动态类型,但用来传递分页信息还…
在上一篇<学习MVC之租房网站(七)-房源管理和配图上传>完成了在后台新增.编辑房源信息以及上传房源配图的功能.到此后台开发便告一段落了,开始实现前台的功能,也是从用户的登录.注册开始. 前台模板使用MUI,一套用于手机端的HTML5模板,但开发期间仍然使用Chrome.FireFox等PC浏览器. 一 注册 注册要求用户输入手机号密码等信息 a) 注册的处理过程为:用户输入手机号后,给手机发送验证码,用户提供收到的验证码以及密码.确认密码,随后便可以点击注册,在浏览器进行简单的有效性校验后,…
在上一篇<学习MVC之租房网站(八)- 前台注册和登录>完成了前台用户的注册.登录.重置密码等功能,然后要实现与业务相关的功能,包括房源的显示.检索等. 一 房源显示 房源显示内容较多,涉及到的有House.Attachment.HousePic,处理的信息包括房屋类型.朝向.楼层.装修状态.家具等. 这里显示的房源是通过后台的房源管理维护的,后台添加房源时会上传图片.使用UEditor编辑文本,前台显示房源时也要把图片和富文本显示出来.在前台使用后台上传的图片是个问题:UEditor产生的富…
在上一篇<学习MVC之租房网站(九)-房源显示和搜索>完成了房源的显示.检索,然后是用户的预约看房,以及后台操作员对预约看房的跟单操作. 预约看房仅有将预约信息保存到对应表的操作,预约表有字段标识一条预约是否被受理,接下来后台操作员对未受理的预约请求进行跟单时,会对这个字段的状态做修改,为了防止高并发时多人同时修改,要设计到数据库锁 一 数据库锁 数据库锁分为乐观锁和悲观锁两种,两种锁都是为了保证数据库的单元数据不会被多人同时操作. a) 悲观锁,悲观锁默认自己在操作数据时,别人一定也会读取,…
学习MVC已经有半个月,看了看日历,刚好半个月.分享了好几篇练习的博文:一,<创建第一个MVC应用程序> http://www.cnblogs.com/insus/p/3358560.html二,<@Styles的nameSpace是什么>http://www.cnblogs.com/insus/p/3358703.html三,<MVC应用程序使用Entity Framework>http://www.cnblogs.com/insus/p/3359111.html四,…
在上一篇<学习MVC之租房网站(十一)-定时任务和云存储>学习了Quartz的使用.发邮件,并将通过UEditor上传的图片保存到云存储.在项目的最后,再学习优化网站性能的一些技术:缓存和页面静态化. 使用缓存可以降低数据库的压力,而使用页面静态化则可以降低Web服务器的压力. 一 缓存 ASP.NET下可用的缓存为System.Web.Caching.Cache,保存在服务器内存中,不适用于服务器集群,虽然也用没用过集群,但现在的主流都使用NoSQL数据库来做缓存,典型的有Redis和Mem…
学习MVC之租房网站(十一)-定时任务和云存储 在上一篇<学习MVC之租房网站(十)-预约和跟单>完成了用户的预约看房以及后台操作员对预约看房的跟单操作.接下来会做定时发邮件的功能,并且用云存储进行上传图片的保存. 一 定时任务和邮件发送 a) 通过实现定时发邮件这个功能,在学习Quartz.Net的同时也能用用邮件发送.Quartz.Net支持各种各样灵活的定时配置,以天.周.月的周期都能支持.使用Quartz的时候,要涉及三个方面:IScheduler.Job和Trigger,自己写的任务…
这儿的MVC是ASP.NET MVC,只用过C#一种语言,后面就直接称呼为MVC了. 一年多没接触MVC后,现在想用MVC做个网站,觉得特别吃力,以前学的仅仅是皮毛,所以闲置了一年后,MVC知识就重新归零了. 这几周学习MVC的过程中,博客园葡萄城的MVC汇总资源给了我很大的帮助(http://www.cnblogs.com/powertoolsteam/archive/2015/08/13/4667892.html),尤其是“ASP.NET MVC 音乐商店”系列教程,学完音乐商店后,对Mod…
机器学习实战(Machine Learning in Action)学习笔记————06.k-均值聚类算法(kMeans)学习笔记 关键字:k-均值.kMeans.聚类.非监督学习作者:米仓山下时间:2018-11-3机器学习实战(Machine Learning in Action,@author: Peter Harrington)源码下载地址:https://www.manning.com/books/machine-learning-in-actiongit@github.com:pbh…
iOS学习笔记06—Category和Extension 一.概述 类别是一种为现有的类添加新方法的方式. 利用Objective-C的动态运行时分配机制,Category提供了一种比继承(inheritance)更为简洁的方法来对class进行扩展,无需创建对象类的子类就能为现有的类添加新方法,可以为任何已经存在的class添加方法,包括那些没有源代码的类(如某些框架类). 二.示例 1.声明类别 @interface NSString (CategoryDemo) -(NSNumber*)…
前言 我们上次写了一个简单的日历插件,但是只是一个半成品,而且做完后发现一些问题,于是我们今天尝试来解决这些问题 PS:距离上次貌似很久了 上次,我们大概遇到哪些问题呢: ① 既然想做一套UI库,那么就应该考虑其它UI库的接入问题 这个意思就是,我们的系统中所有UI插件应该有一些统一行为,我们如果希望统一为所有的插件加一点什么东西,需要有位置可加 这个意味着,可能我们所有的插件需要继承至一个抽象的UI类,并且该类提供了通用的几个事件点 ② 上次做的日历插件虽然说是简单,其耦合还是比较严重的(其实…
一.什么是模型绑定? 模型绑定存在的意义就是为Action的参数提供值,例如:如下表单中提交了数据,那么Action(即:Index)的参数Id,Name的值就是表单中对应的name属性相同的值,而表单提交的值是如何赋值给Action的参数的呢?模型绑定就是来完成从用户提交的请求中提取数据,并赋值给Action的参数.此例是从表单中的提取数据,并赋值给Action的参数,模型绑定还可以完成完成从地址Url.路由Route.上传文件等中获取数据,并赋值给Action相应的参数. <form id=…
一.概述 在此系列开篇的时候介绍了MVC的生命周期 , 对于请求的处理,都是将相应的类的方法注册到HttpApplication事件中,通过事件的依次执行从而完成对请求的处理.对于MVC来说,请求是先 经过路由系统,然后由一个MvcHandler来处理的,当请求到来时,执行此MvcHandler的ProcessRequest方法(因为已将 MvcHandler类的ProcessRequest方法注册到HttpApplication的事件中,所以事件的执行就触发了此方法).详细请看之前介绍MVC生…