ASP.NET MVC

ASP.NET MVC 学习笔记-2.Razor语法

旧城冷巷雨未停 提交于 2020-04-25 08:05:50
1. 表达式 表达式必须跟在“@”符号之后, 2. 代码块 代码块必须位于“@{}”中,并且每行代码必须以“;”结尾。代码块中定义的变量可能会被同一个域中的其他块使用。比如,定义在视图顶部的变量可以被同一视图中的代码块和代码段访问。 3. 布局 Razor通过layouts保持网页外观布局的一致性。布局模板包含基本的标签,并可以指定渲染视图内容的位置。比如 基本布局文件(_Layout.cshtml) <! DOCTYPE Html > < html lang =”en” > < head > < mete charset =”utf-8” /> < title > @View.Title </ title > </ head > < body > < div class =”header” > @RenderSection(“Header”); </ div > @RenderBody() < div class =”footer” > @RenderSection(“Footer”); </ div > </ body > </ html > 布局页面定义完成后,其他视图页面就可以引用该布局文件,比如 @{Layout=”~/_Layout.cshtml”;} @section Header { < h1 > Page Header Content </ h1 > }

.NET MVC5之Web API2

时光毁灭记忆、已成空白 提交于 2020-04-24 21:04:12
Web Service ASP.NET Web API 2 轻量化,高效率的HTTP Service框架 Web API 集成了ASP.NET MVC和WCF Web API的功能 IIS Express 指令模式 进入iis express目录 appcmd list site iisexpress /siteid:id Web API路由 App_Start目录下的WebApiConfig.cs REST 1.资源 2.URI 3.HTTP动词 4.GET 5.POST 6.PUT和PATCH 7.DELETE HTTP动词+URI 来源: oschina 链接: https://my.oschina.net/it110/blog/3783202

《ASP.NET MVC 5 破境之道》:第一境 ASP.Net MVC5项目初探 — 第二节:MVC5项目结构

有些话、适合烂在心里 提交于 2020-04-24 13:53:21
第一境 ASP.Net MVC5项目初探 — 第二节:MVC5项目结构 接下来,我们来看看,VS为我们自动创建的项目,是什么样子的? 可以通过菜单中[View]->[Solution Explorer]项来打开解决方案资源管理器。这是一个树形结构的视图,根节点是解决方案,解决方案节点下,就是一个一个的项目了,目前,我们的解决方案里只有一个项目(HonorShop.Web)。 接下来,展开(HonorShop.Web)项目节点,概要介绍一下几个重要的目录和文件: App_Data:顾名思义,用来放置应用程序相关数据文件的目录; App_Start:这里边,默认有三个Config文件,都很重要,以后会经常用到 BundleConfig.cs:Bundling是MVC提供的一种对静态文件(如:JS脚本、样式表)进行优化的机制; FilterConfig.cs:就是用来注册过滤器的。什么是过滤器?有什么用?怎么工作的?我们在后续章节中进行详细讲解; RouteConfig.cs:配置MVC应用的路由; 说它们重要,自然是有道理的,因为我们后面会经常用到他们。 Content:用来放置一些静态资源(样式表、图片、音频、视频文件等)。VS默认生成了一个Site.css和Bootstrap框架样式表文件; Scripts:也是用来放置静态资源,但主要是脚本文件。VS默认放置了bootstrap

ASP.NET CORE系列【一】搭建ASP.NET CORE项目

南笙酒味 提交于 2020-04-23 07:29:21
为什么要使用 ASP.NET Core? NET Core 刚发布的时候根据介绍就有点心里痒痒,微软的尿性都懂的,新东西bug太多,现在2.0也发布很久了,决定研究一下。 ASP.NET Core官方文档 https://docs.microsoft.com/en-us/aspnet/core/getting-started ASP.NET Core 具有如下优点: 生成 Web UI 和 Web API 的统一场景。 集成 新式客户端框架 和开发工作流。 基于环境的云就绪 配置系统 。 内置 依赖项注入 。 轻型的 高性能 模块化 HTTP 请求管道。 能够在 IIS、Nginx、Apache、Docker 上进行托管或在自己的进程中进行自托管。 定目标到 .NET Core 时,可以使用并行应用版本控制。 简化新式 Web 开发的工具。 能够在 Windows、macOS 和 Linux 进行生成和运行。 开放源代码和 以社区为中心 。 相信很大一部分人因为Core的跨平台慕名而来!现在就开始折腾吧。 新建项目 新建项目,我们选择ASP.NET Core MVC, 最有趣的是Core继承了NG和React,等以后再来研究这些。 现在专注我们的MVC 项目结构 新项目结构大体跟传统MVC区别不大, 依旧Model -View-Controllers 所有的css

ASP.NET Core 中间件自定义全局异常处理

柔情痞子 提交于 2020-04-22 05:09:56
目录 背景 ASP.NET Core过滤器(Filter) ASP.NET Core 中间件(Middleware) 自定义全局异常处理 .Net Core中使用ExceptionFilter .Net Core中使用中间件 总结 参考 背景   作为开发者,你兴高采烈地完成了新系统的功能开发。并且顺利经过验收,系统如期上线,皆大欢喜。   但是,有些bug就是在生产环境如期而至了。半夜梦酣之时,你被运维童鞋的电话惊醒了,系统不能正常运行了。接下来,他打包了一堆日志文件给你...   笔者有幸做过几年运维自动化系统,深知产品的每一次大跌代上线都是一场很多IT人的噩梦。更甚者,开发和运维人员有时候因为定位一个线上问题,花了一个通宵或者甚至版本回退。    干了多年开发越来越觉得,异常处理和定位的能力反映出开发者硬核能力 。如果开发人员能够在对系统中异常进行捕获,然后记录日志,并对日志进行划分等级,然后通过邮件或者短信等提醒,是不是能够做到提前预判呢。    在 asp.net core中全局异常处理,这里介绍两种不同的处理方式:过滤器捕获和中间件过滤。 过滤器   通过使用 ASP.NET Core 中的筛选器,可在请求处理管道中的特定阶段之前或之后运行代码。   内置过滤器处理任务,例如: 授权(防止用户访问未获授权的资源)。 响应缓存(对请求管道进行短路出路,以便返回缓存的响应)

ASP.NET Core 中文文档 第四章 MVC(4.3)过滤器

旧时模样 提交于 2020-04-21 15:41:26
原文: Filters 作者: Steve Smith 翻译: 刘怡(AlexLEWIS) 校对: 何镇汐 ASP.NET MVC 过滤器 可在执行管道的前后特定阶段执行代码。过滤器可以配置为全局有效、仅对控制器有效或是仅对 Action 有效。 查看或下载演示代码 . 过滤器如何工作? 不同的过滤器类型会在执行管道的不同阶段运行,因此它们各自有一套适用场景。根据你实际要解决的问题以及在请求管道中执行的位置来选择创建不同的过滤器。运行于 MVC Action 调用管道内的过滤器有时被称为 过滤管道 ,当 MVC 选择要执行哪个 Action 后就会先执行该 Action 上的过滤器。 不同过滤器在管道的不同位置运行。像授权这样的过滤器只运行在管道的靠前位置,并且其后也不会跟随 action。其它过滤器(如 action 过滤器等)可以在管道的其它部分之前或之后执行,如下所示。 选择过滤器 授权过滤器 用于确定当前用户的请求是否合法。 资源过滤器 是授权之后第一个用来处理请求的过滤器,也是最后一个接触到请求的过滤器(因为之后就会离开过滤器管道)。在性能方面,资源过滤器在实现缓存或短路过滤器管道尤其有用。 Action 过滤器 包装了对单个 action 方法的调用,可以将参数传递给 action 并从中获得 action result。 异常过滤器 为 MVC

ASP.NET Core MVC入门——1

删除回忆录丶 提交于 2020-04-19 11:36:34
根据微软的文档,学习了ASP.NET core MVC的基础使用。 https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/first-mvc-app/start-mvc?view=aspnetcore-3.1&tabs=visual-studio 有如下感受: 如果时间相对充裕,最好看英文文档。英文中的冗余信息较多,容易理解。 微软的工具化如果一旦使用了,会发现很方便,开发速度真的很快。相比以前java的ssm,快不少。 整个入门笔记整理如下 基础 使用的是vs2017,.net core是2.1,这就是基本开发环境,其他啥都没有。 通过vs2017新建“ASP.NET Core Web 应用程序”项目,名称为MvcMovie。新建完成后,就可以通过运行启动一个最基础的asp.net网站了。如果只是静态页面显示,可以在项目目录wwwroot目录下面,添加各种html文件,已经是一个静态网站了。 MVC MVC入门,MVC是一个开发动态网站的框架思维,并不是一种特定的代码,asp.net中可以实现,jsp中也可以实现,其他各种编程技术中都有实现。asp.net mvc框架以及配套的工具的已经大大简化了开发人员的使用方式。如果不使用这些工具,则开发一个交互式有数据库的网站,大概步骤是如下 建立业务的数据模型 建立控制器

Asp.net Core MVC(四)

☆樱花仙子☆ 提交于 2020-04-19 04:26:17
上一篇说的是asp.net mvc核心UseMvc的过程,末尾想捋一下asp.net核心的路由流转过程,现在看来还是要准备下一个代码,熟悉了代码,那么整个流转过程就通了〜 不多说,今儿先看下,RouteContext: private RouteData _routeData; public RouteContext(HttpContext httpContext) { HttpContext = httpContext; RouteData = new RouteData(); } public RequestDelegate Handler { get ; set ; } public HttpContext HttpContext { get ; } public RouteData RouteData { get { return _routeData; } set { if (value == null ) { throw new ArgumentNullException(nameof(RouteData)); } _routeData = value; } } 这里可以理解RouteContext(路由子网)就是路由的环境。 其中包含三个属性器,RouteData,RequestDelegate与HttpContext。 那么什么时候设置路由的某些呢呢? 个人理解是

[ASP.NET Core 3框架揭秘] 跨平台开发体验: Windows [下篇]

依然范特西╮ 提交于 2020-04-18 10:21:33
由于ASP.NET Core框架在本质上就是由服务器和中间件构建的消息处理管道,所以在它上面构建的应用开发框架都是建立在某种类型的中间件上,整个ASP.NET Core MVC开发框架就是建立在用来实现路由的 EndpointRoutingMiddleware 和 EndpointMiddleware 中间件上。ASP.NET Core MVC利用路由系统为它分发请求,并在此基础上实现针对目标Controller的激活、Action方法的选择和执行,以及最终对于执行结果的响应。在介绍的实例演示中,我们将对上面创建的ASP.NET Core作进一步改造,使之转变成一个MVC应用。 一、注册服务与中间件 ASP.NET Core框架内置了一个原生的依赖注入框架,该框架利用一个依赖注入容器提供管道在构建以及请求处理过程中所需的服务,而这些服务需要在应用启动的时候被预先注册。对于ASP.NET Core MVC框架来说,它在处理HTTP请求的过程中所需的一系列服务同样需要预先注册。对这个概念有了基本的了解之后,相信读者朋友们对如下所示的代码就容易理解了。 using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.DependencyInjection;

初始WebApi(1)

给你一囗甜甜゛ 提交于 2020-04-15 13:18:11
【推荐阅读】微服务还能火多久?>>> 如果你要问我WebApi是干嘛,我只能说它是的给数据。哈哈哈哈哈,这几天也才刚刚了解了解关于WebApi的知识,今天就来谈谈吧。 1.创建WebApi项目 第一步:选择ASP.NET Web应用程序 第二步:选择WebApi,记得要取消勾选Https配置,点击创建 第三步:创建完成后形成的项目结构 这里和ASP.NET MVC的目录结构看起来有点类似,其实还是有很大的不同的 在这里View视图其实不起什么作用。 下面来看看目录结构中有什么东西。 可以看到自动创建了两个控制器分别是Home和Values(这里的Student和User是我自己创建的) 进去看看。需要注意的是这里Home和下面介绍的Values是不同的控制器,哪里不同呢?等一下就知道啦 Home控制器: Values控制器: 与Home控制器最大的区别就在于继承的控制器前者是Controller、后者是ApiController 可以看到这里分别有几个方法:Get(查询)、Post(新增)、Put(修改)、以及Delete(删除) [FromBody]在这里的作用就是只接受从data中传递过来的参数,也就是其他传参方法比如QueryString形式的方法无法获取。 为什么系统自动帮我们创建了这四个方法呢? 1 using System; 2 using System