mvc5

MVC5 + EF6 入门完整教程一

假如想象 提交于 2020-03-28 18:14:23
原文:https://www.cnblogs.com/miro/p/4030622.html ASP.NET MVC开发模式和传统的WebForm开发模式相比,增加了很多"约定"。 直接讲这些 "约定" 会让人困惑,而且东西太多容易忘记。 和微软官方教程不同,笔者尽量不用脚手架,从空白框架开始,一步一步添加功能,每次添加的东西刚好够用,让大家能真正能用起来,理解每一个过程。 文章提纲 概述 核心概念介绍 从空白开始,建立一个基本框架详细步骤 概述 本系列文章及文章中的例子主要基于微软官方文档 使用工具 : VS2013 + MS SQL 2012 开始主要讲解MVC + EF搭配使用,后续同样也会提供MVC + ADO.NET的实现方案 核心概念介绍 MVC,Model – View – Controller 的简写 Model 封装业务逻辑相关的数据及对数据的处理方法 View 向用户提供交互界面 Controller 负责控制Model和View 看下面这张图。目前只要理解这一个概念就可以了,下面就开始建一个空框架,从做中学。 从空白开始,建立一个基本框架详细步骤 新建项目 NOTE:模板要选Empty,如果直接选MVC会产生多余代码。 NOTE:上图方框处正好对应于M, V, C 到此为止,就建立了一个最基本的MVC解决方案,基本是空的。

ASP.NET MVC5路由系统机制详细讲解

ⅰ亾dé卋堺 提交于 2020-03-24 13:31:51
请求一个ASP.NET mvc的网站和以前的web form是有区别的,ASP.NET MVC框架内部给我们提供了路由机制,当IIS接受到一个请求时,会先看是否请求了一个静态资源(.html,css,js,图片等),这一步是web form和mvc都是一样的,如果不是则说明是请求的是一个动态页面,就会走asp.net的管道,mvc的程序请求都会走路由系统,会映射到一个Controller对应的Action方法,而web form请求动态页面是会查找本地实际存在一个aspx文件。下面通过一个ASP.NET MVC5项目来详细介绍一下APS.NET MVC5路由系统的机制。 一、认识Global.asax.cs 当我们创建一个APS.NET MVC5的项目的时候会在项目的根目录中生成一个Global.asax文件。 1 public class MvcApplication : System.Web.HttpApplication 2 { 3 protected void Application_Start() 4 { 5 //注册 ASP.NET MVC 应用程序中的所有区域 6 AreaRegistration.RegisterAllAreas(); 7 //注册 全局的Filters 8 FilterConfig.RegisterGlobalFilters

ASP.NET MVC5 ModelBinder

安稳与你 提交于 2020-03-24 13:30:58
什么是ModelBinding ASP.NET MVC中,所有的请求最终都会到达某个Controller中的某个Action并由该Action负责具体的处理和响应。为了能够正确处理请求,Action的参数(如果有的话),必须在Action执行之前,根据相应的规则,把请求中所包含的数据提取出来并将映射为Action的参数值,这个过程就是ModelBinding。 ModelBinding的作用就是为Action提供参数列表。 ModelBinding的好处 使代码变得更加简洁 帮助我们获取HTTP请求中的数据 帮助我们完成必要的数据类型转换 ASP.NET MVC中ModelBinding的实现过程 ASP.NET MVC中ModelBinding的实现过程比较复杂,这里简要说明它的总体流程。具体的实现过程可以看蒋金楠的《ASP.NET MVC5框架揭秘》或者看他的博客 How ASP.NET MVC Works? ,讲解很详细。 HTTP请求中的数据可能存在于querystring中,也可能在表单中,也有可能是JSON字符串。究竟从哪里获取数据,这要依赖于参数的描述信息 ParameterDescriptor ParameterDescriptor 的获取需要借助于 ControllerDescriptor 和 ActionDescriptor

ASP.NET MVC5实现芒果分销后台管理系统(二):Code First快速集成EntityFramework

妖精的绣舞 提交于 2020-03-22 20:41:06
3 月,跳不动了?>>> 在上一篇文章中,我们已经搭建了整个芒果后台管理系统整个工程架构,并集成了AutoMapper,日志组件等,接下来我们将使用Entity Framework完善系统的持久化存储部分。这篇EF的构造,我将以一种快速集成的方式实现,并提供超多的Linq公共方法供业务使用。 Nuget引入EF 在XiaoMo.Repository工程里,右键工程使用Nuget引入EntityFramework ,这里我使用最新的6.4版本 在XiaoMo.Service的Web.config里,添加Sql Server连接字符串(AppSetting内) <add key="conStr" value="Server=10.60.215.202;Database=mango_sys;Persist Security Info=True;User ID=sa;Password=**" /> 创建表 创建表以及Entity 对应Entity [Table("Orders")] public class OrderInfoEntity { public int Id { get; set; } public DateTime OptTime { get; set; } public string Address { get; set; } public string Uuid {

ASP.NET MVC5实现芒果分销后台管理系统(二):Code First快速集成EntityFramework

拜拜、爱过 提交于 2020-03-22 20:10:28
在上一篇文章中,我们已经搭建了整个芒果后台管理系统整个工程架构,并集成了AutoMapper,日志组件等,接下来我们将使用Entity Framework完善系统的持久化存储部分。这篇EF的构造,我将以一种快速集成的方式实现,并提供超多的Linq公共方法供业务使用。 Nuget引入EF 在XiaoMo.Repository工程里,右键工程使用Nuget引入EntityFramework ,这里我使用最新的6.4版本 在XiaoMo.Service的Web.config里,添加Sql Server连接字符串(AppSetting内) <add key="conStr" value="Server=10.60.215.202;Database=mango_sys;Persist Security Info=True;User ID=sa;Password=**" /> 创建表 创建表以及Entity 对应Entity [Table("Orders")] public class OrderInfoEntity { public int Id { get; set; } public DateTime OptTime { get; set; } public string Address { get; set; } public string Uuid { get; set; }

ASP.NET MVC5实现芒果分销后台管理系统(一):系统结构设计,集成AutoMapper,Log4net

倖福魔咒の 提交于 2020-03-21 08:27:38
在构思完系统思维脑图后,小墨回到家中,便摩拳擦掌开始了开发工作。要想迅速完成系统开发,前期系统设计和准备尤其重要,因为小墨做过太多大大小小的业务系统,准备工作也是十分顺利。 系统结构 整个系统工程结构如上,基于传统的三层架构模式(不太懂的快去恶补一下) Web: 基于MVC工程模板搭建,系统模型,视图,控制器 Service: 业务 Repository: 持久化层,集成EntityFramework Tracking:日志组件集成Log4net CommonUtils:公共工具,提供加密解密/序列化/Excel处理,提供Castle Ioc管理 话不多说,直接上干货 集成Log4net 虽说李老板的芒果业务系统是如此的简单,可一向有着强迫症的小墨仍然有板有眼的规划系统的各个架构功能,做事尽善尽美是小墨的一贯作风。日志能省吗,当然不能!以下集成Log4net.   Nuget下载   这里直接右键解决方案Nuget中搜索Log4net,安装最新版5.2.7 日志配置文件   <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" /> </configSections> <log4net

SignalR + MVC5 简单示例

孤者浪人 提交于 2020-03-12 04:07:24
原文: SignalR + MVC5 简单示例 本文和前一篇文章很类似,只不过是把 SignalR 应用在了 MVC 中 新建项目,选择 MVC 模板   安装 SignalR Install-Package Microsoft.AspNet.SignalR   在项目中添加文件夹 Hubs    在 Hubs 文件夹中添加 SignalR Hub Class (V2)   代码如下 using System; using System.Collections.Generic; using System.Linq; using System.Web; using Microsoft.AspNet.SignalR; namespace SignalRChatMVC5.Hubs { public class ChatHub : Hub { public void Send(string name, string message) { // Call the addNewMessageToPage method to update clients. Clients.All.addNewMessageToPage(name, message); } } }   添加 OWIN Startup Class   代码如下 using System; using System.Threading

ASP.NET MVC5 之数据迁移

可紊 提交于 2020-02-29 05:27:26
SQL 中新建数据库 DataSystem 1.web.config 数据库连接字符串: <add name="APPDataConnection" connectionString="Data Source=.;Initial Catalog=DataSystem;integrated security=True" providerName="System.Data.SqlClient" /> 2.初始化数据库 Enable-Migrations -ContextTypeName MVCAppData.Models.DatabaseContext 成功后,你会看到 数据库中 MVC 数据库默认的自动创建的表;此外 ,项目中多了 Migrations 文件夹 Configuration.cs 文件 3.Configuration.cs 文件 设置:AutomaticMigrationsEnabled = true; 4. 如何更新字段 A.删除_MigrationHistory B.VS 中 “工具”=》NuGet 程序包管理器=》程序包管理器控制台=》PM> update-database 借鉴: http://www.cnblogs.com/youring2/archive/2013/07/24/mvc-5-adding-a-new-field.html http://blog

ASP.NET + MVC5 入门完整教程五 --- Razor (模型与布局)

♀尐吖头ヾ 提交于 2020-01-31 15:35:28
https://blog.csdn.net/qq_21419015/article/details/80451895 1、准备示例项目 为了演示Razor,使用VS创建一个名称为“Razor”的新项目;这里选择 “Empty(空)”选项,并勾选“MVC”复选框。 定义模型 在Models文件夹下添加一个“Product”类,完成类如下所示: 定义控制器 在Controller文件夹下添加“HomeController”,编辑文件与下图匹配 创建视图 选中Index,右键添加视图,按照上图设置成强类型视图。如果在模型类选项中未发现Model,先编译在添加。 2、使用模型对象 @model Razor.Models.Product Razor语句以@ 字符开始,在此例中,@model 语句声明了通过动作方法传递给该试图模型对象的类型,让我们通过@Model来引用模型对象的方法,字段和属性。Index.cshtml 如下: 右键 Index.cshtml,在浏览器中查看: 3、使用布局 Index.cshtml视图文件的另一个Razor表达式如下: @{ Layout=null; } 这是Razor 代码块的例子,这个代码块允许视图包含C#语句,这种代码块以“@{”开始,以“}”结尾,上述代码将Layout 属性值设置为 null ,效果就是告诉MVC 框架,视图时自包含的

ASP.NET + MVC5 入门完整教程四---MVC 中使用扩展方法

左心房为你撑大大i 提交于 2020-01-29 18:05:04
https://blog.csdn.net/qq_21419015/article/details/80433640 1、示例项目准备 1)项目创建 新建一个项目,命名为LanguageFeatures ,选择 Empty (空白模板),选中 MVC 选项。在“Controllers”文件夹下创建 HomeController.cs 文件,修改默认Index 如下: public string Index() { return "Navigate to a URL to show an example"; } 在Index上右键添加视图,在Views\Home\ 下出现Index.cshtml ,右键,在浏览器查看,效果如下: 2)添加引用 添加 System.Net.Http 程序集,该程序集默认不会添加到MVC项目中。在VS中的“Project(项目)”菜单选择“Add Reference(添加引用)”,打开“Reference Manager(引用管理器)”窗口,选择“Assemblies(程序集)”,选中“System.Net.Http”选项,如下所示: 2、使用自动实现的属性 常规的C#上属性可以暴露类的数据片段,这种数据片段与设置和接收数据采用了一种松耦合的方式。在 "Models"文件夹下新建一个 Product.cs 类: namespace