ASP.NET MVC4|MVC5
文章平均质量分 82
.NET跨平台
比较认真。编程就是算法和数据结构,算法和数据结构是编程的灵魂。
展开
-
FluentValidation验证教程
Must如果您想灵活控制可重用的验证器, 则可以使用Must方法编写自定义规则,此方法允许您手动创建与验证错误关联的实例。} });} }} });} }此方法的优点是它允许您为同一规则返回多个错误。在某些情况下, 针对某些属性的验证逻辑非常复杂, 我们希望将基于属性的自定义逻辑移动到单独的类中,可通过重写类来完成。if(list!} }继承时, 必须重写IsValid方法,此方法接受一个对象, 并返回一个布尔值, 指示验证是否成功,可通过Instance。转载 2022-12-14 23:20:01 · 1656 阅读 · 0 评论 -
.Net MVC 动态生成LayUI tree
最近在做项目的过程中需要用到Tree插件,所以找了一堆Tree发现LayUI的Tree样式比较好看,所以开始搞!转载 2022-08-31 22:35:07 · 271 阅读 · 0 评论 -
HttpRequest中常见的四种ContentType
HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT 这几种。其中 POST 一般用来向服务端提交数据,本文主要讨论 POST 提交数据的几种方式。我们知道,HTTP 协议是以 ASCII 码传输,建立在 TCP/IP 协议之上的应用层规范。规范把 HTTP 请求分为三个部分:状态行、请求头、消息主体。类似于下面这样:<method> <request-URL> <version&g转载 2022-03-02 23:30:02 · 2541 阅读 · 0 评论 -
[ASP.NET MVC 小牛之路]14 - Unobtrusive Ajax
Ajax (Asynchronous JavaScript and XML 的缩写),如我们所见,这个概念的重点已经不再是XML部分,而是 Asynchronous 部分,它是在后台从服务器请求数据的一种模型。MVC 框架内置了对 Unobtrusive Ajax 的支持,它允许我们通过 MVC 的 Help mothod 来定义 Ajax 的特性,而不用在 View 中参杂一大段 JavaScript 代码。普通 Ajax 使用方式在讲 MVC 中的 Unobtrusive Ajax 之前,我们先来看转载 2022-03-02 22:12:54 · 203 阅读 · 0 评论 -
Razor视图中的@:和<text>语法
在MVC项目中新建视图的时候默认支持ASPX引擎和Razor引擎,如果选择ASPX引擎,那它跟webform项目中的*.aspx前台页面没区别,如果选择Razor引擎,那我们可以用更少的代码来实现相同的功能(与使用ASPX引擎相比较),我们不用在HTML中明确地标记出服务模块的结束标志,因为Razor解析器足够聪明,它可以自己推断出来。HTML代码与C#代码混编1、在前台声明和使用C#变量如果想在前台声明C#变量,那声明C#变量的代码必须写在@{ }代码块中,使用@+C#变量名就能取得C#变量的值,注转载 2021-10-01 20:37:18 · 688 阅读 · 0 评论 -
ASP.NET MVC中Unobtrusive Ajax的妙用
Unobtrusive Javascript有三层含义:一是在HTML代码中不会随意的插入Javascript代码,只在标签中加一些额外的属性值,然后被引用的脚本文件识别和处理;二是通过脚本文件所增加的功能是一种渐进式的增强,当客户端不支持或禁用了Javascript时网页所提供的功能仍然能够实现,只是用户体验会降低;三是能够兼容不同的浏览器。启用Unobtrusive Javascript的步骤:1.在web.config文件中加入<configuration> <appSe转载 2021-09-12 02:29:44 · 304 阅读 · 0 评论 -
mvc 当中 [ValidateAntiForgeryToken] 的作用及用法
一.CSRF是什么?CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。二.CSRF可以做什么?你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账…造成的问题包括:个人隐私泄露以及财产安全。三.CSRF漏洞现状CSRF这种攻击方式在2000年转载 2021-08-29 16:25:01 · 3938 阅读 · 0 评论 -
MVC源码解析 - HttpRuntime解析
先看一张图, 从这张图里, 能看到请求是如何从CLR进入HttpRuntime的.一、AppManagerAppDomainFactory看到这张图是从 AppManagerAppDomainFactory 开始的, 按照汤姆大叔博文中所说, 是在CLR初始化加载的时候, 来加载这个类的. 那么来看一下这个类吧.使用Reflector反编译搜索AppManagerAppDomainFactory 类, 可以看到(由于这个类并不多, 那么我先贴一个完整的出来吧):[SecurityPermissio转载 2021-07-10 15:07:16 · 317 阅读 · 0 评论 -
2020最新面试宝典带答案MVC专题
1、使用MVC模式有什么优点?答:可以为一个模型在运行时同时建立和使用多个视图。变化-传播机制可以确保所有相关的视图及时得到模型数据变化,从而使所有关联的视图和控制器做到行为同步。 视图与控制器的可接插性,允许更换视图和控制器对象,而且可以根据需求动态的打开或关闭、甚至在运行期间进行对象替换。 模型的可移植性。因为模型是独立于视图的,所以可以把一个模型独立地移植到新的平台工作。需要做的只是在新平台上对视图和控制器进行新的修改。 潜在的框架结构。可以基于此模型建立应用程序框架,不仅仅是用在设计界面的设计中。转载 2021-04-15 00:06:06 · 397 阅读 · 1 评论 -
ASP.NET MVC面试问题与答案
什么是MVC (模型 视图 控制器)?MVC是一个架构模式,它分离了表现与交互。它被分为三个核心部件:模型、视图、控制器。下面是每一个部件的分工:视图是用户看到并与之交互的界面。模型表示业务数据,并提供数据给视图。控制器接受用户的输入并调用模型和视图去完成用户的需求。图: MVC (模型、视图、控制器)你能解释下MVC的完整流程吗?下面是MVC(模型、视图、控制器)架构的控制流程:所有的终端用户请求被发送到控制器。控制器依赖请求去选择加载哪个模型,并把模型附加到对应的视图。附加了转载 2021-04-14 16:20:49 · 1843 阅读 · 0 评论 -
asp.net mvc、asp.net url重写 Url Rewrite
最近在做一个cms手机网站,由于内容不是很多,很快做完了。空闲的时间考虑seo,想把url全部写成静态的。在查资料的时候,发现 UrlRewrite.Net这个组件非常的不错,尝试了下结果达到了理想的效果。1、通过nuget安装该类库;2、注册为后缀html的路由;3、web.config配置;<!--在 configuration 节点下配置--><configSections> <section name="CustomConfiguration" typ转载 2021-02-14 12:44:01 · 935 阅读 · 0 评论 -
ASP.NET MVC 请求流程:Route
1.RouteTable RouteTable翻译过来的意思就是路由表,一个Web应用程序具有一个全局的路由表,该路由表通过System.Web.Routiing.RouteTable的静态只读属性Routes表示,该类型返回一个类型为System.Web.Routingg.RouteCollection的集合。RouteTable类十分的简单,如下所示复制代码public class RouteTable{private static RouteCollection _instance =转载 2021-02-09 15:33:42 · 511 阅读 · 0 评论 -
在ASP.NET MVC中使用IIS级别的URL Rewrite
大约一年半前,我在博客上写过一系列关于URL Rewrite的文章(2、3、4),把ASP.NET平台上进行URL Rewrite的方式和各自地特点进行了较为详细的描述。应该来说,已经讲的非常具体,可以应对90%的情况。其实IIS Rewrite的原理非常容易理解,进行一些简单的变化和推断之后,便可以得出一些问题的原因和解决方案。现在我们就来看一个真实案例:在ASP.NET MVC中使用IIS级别的URL Rewrite。在当时的文章中我谈到,URL Rewrite分有IIS级别和ASP.NET两种级别,转载 2021-02-09 14:17:49 · 467 阅读 · 0 评论 -
ASP.NET MVC注册路由过程源码解析
路由模块四大对象:Route(路由规则对象):包含路由规则和路由Handler(路由handler的职责就是获取最终处理Http请求的PrHandler)RouteData(路由数据)RouteCollection(路由规则的集合对象)RouteTable(路由表)第七个和第八个事件之间:先判断上下文里面有没有指定一个具体的PrHandler处理这个Http请求,如果没有指定那么就 根据URL地址创建页面或者是一般处理程序。在MVC里面:通过URLRoutingModel注册了第七个事件,也转载 2021-02-06 00:45:58 · 295 阅读 · 0 评论 -
ASP.NET MVC下的四种验证编程方式
ASP.NET MVC采用Model绑定为目标Action生成了相应的参数列表,但是在真正执行目标Action方法之前,还需要对绑定的参数实施验证以确保其有效性,我们将针对参数的验证成为Model绑定。总地来说,我们可以采用4种不同的编程模式来进行针对绑定参数的验证。一、手工验证绑定的参数在定义具体Action方法的时候,对已经成功绑定的参数实施手工验证无疑是一种最为直接的编程方式,接下来我们通过一个简单的实例来演示如何将参数验证逻辑实现在对应的Action方法中,并在没有通过验证的情况下将错误信息响应转载 2021-02-01 23:33:41 · 257 阅读 · 0 评论 -
ASP.NET MVC Filter筛选器的执行
Filter筛选器的执行ASP.NET-MVC的筛选器是一种基于AOP(面向方面编程)的设计,我们将一些非业务的逻辑实现在相应的筛选器,并以一种横切( Crosscutting)的方式应用到对应的 Action 方法上。在Action方法执行前后,这些筛选器会自动执行。ASP.NETMVC 提供了 AuthorizationFilter、ActionFilter、ResultFilter和ExceptionFilter这四种筛选器,它们对应着四个接口IAuthorizationFilter、IAct转载 2021-01-01 15:09:26 · 546 阅读 · 0 评论 -
asp.net MVC 应用程序的生命周期
首先我们知道http是一种无状态的请求,他的生命周期就是从客户端浏览器发出请求开始,到得到响应结束。那么MVC应用程序从发出请求到获得响应,都做了些什么呢?本文我们会详细讨论MVC应用程序一个请求的生命周期,从一个控件到另一个控件是怎样被处理的。我们还会详细介绍一下整个请求的生命周期中,用到的相关组件。因为在平常的开发过程中,我们可能知道怎样去使用MVC框架来处理相关的请求,大部分的时候我们只是在controller和action方法之间做相关的处理,对于真正内在的运行机制可能不是很了解。其实当我们对内在转载 2020-12-19 20:57:42 · 820 阅读 · 0 评论 -
注意!ASP.NET MVC 3 的一个 OutputCache 问题
在用 ASP.NET MVC 3 重写博客园网站首页时,特地留意了一下这个缓存问题,通过这篇博文分享一下。在 ASP.NET MVC 3 中如果使用了 OutputCache,一定要在 Action 中添加下面的代码,切记!Response.Cache.SetOmitVaryStar(true);这是一个伴随ASP.NET从1.0到4.0的OutputCache Bug,ASP.NET MVC 3 是基于 ASP.NET 4.0 的,所以也躲不过。问题演示下面先来体验一下不加 Response.转载 2020-08-04 16:50:14 · 225 阅读 · 0 评论 -
NET MVC 和WebUploader上传大文件
大文件上传部分:重磅功能:大文件“秒传”;在文件上传部分已有功能的基础上实现了按10MB分为多个块,异步上传,服务端合并,MD5验证;图片上传部分:在文件上传部分已有功能的基础上实现了上传前缩略图预览,前台js文件后缀验证,后台代码文件后缀验证和文件类型验证(就算修改后缀名也无法成功上传),支持图片上传前压缩;BigFileUpload文件夹下Index.cshtml@{ ...转载 2020-02-12 15:25:50 · 589 阅读 · 0 评论 -
ASP.NET MVC技能体系图
如图:转载 2018-05-27 15:04:08 · 832 阅读 · 0 评论 -
.NET MVC执行过程 及 生命周期步骤
1、网址路由比对2、执行Controller与Action3、执行View并返回结果Request 请求到来IIS 根据请求特征将处理权移交给 ASP.NETUrlRoutingModule将当前请求在 Route Table中进行匹配UrlRoutingModule在RouteCollection中查找Request匹配的RouteHandler,默认是MvcRouteHandl...转载 2019-12-21 12:25:59 · 1060 阅读 · 0 评论 -
ASP.NET MVC HtmlHelper类的方法总结
HtmlHelper类的辅助和扩展方法:(1)ActionLink 生成一个特定的控制器行为连接 具体说明: Edit,为linkText,具体而言就是显示的字符串 Edit,对应为ActionName; Book,为Controller;转载 2014-11-26 13:44:21 · 1554 阅读 · 0 评论 -
ASP.NET MVC Bootstrap Helpers
阅读目录序言内置的HTML Helpers创建自定义的Helpers使用静态方法创建Helpers使用扩展方法创建Helpers创建Fluent Helpers创建自动闭合的Helpers小结回到顶部序言ASP.NET MVC允许开发者创建自定义的HTML Helpers,不管是使用静态方法还是扩展方法。一个HTML Helper本质上其实是输出一段HTML字符转载 2015-04-26 00:42:21 · 1204 阅读 · 0 评论 -
ASP.NET MVC 3实现类似于Server.Transfer的效果
ASP.NET MVC的页面跳转当我们在使用ASP.NET MVC实现页面跳转的时候,常用的应该是: Redirect RedirectToAction RedirectToRoute 或者在前台使用脚本跳转。但这几种跳转方式都是基于Get请求的,在某些特定场景下可能并不适用。例如需要传递大数据量参数、或者复杂对象类型参数的场景,get方转载 2015-04-25 00:38:46 · 1189 阅读 · 0 评论 -
在Asp.net MVC 4.0中使用IHttpHandler
在MVC中,一般使用Controller(IController)对客户端的请求进行响应; 其实我们也可以使用IHttpHandler来接受请求和响应。实现的方式非常简单,一共三步:首先得定义一个类(例如PlainHttpHandler),并实现IHttpHandler接口;view plainprint?using System.Web; usin转载 2015-04-25 00:41:13 · 1138 阅读 · 0 评论 -
MVC4 ProductController 示例
代码如下:public class ProductController : Controller { private IProductRepository repository; public int PageSize = 4; //每页产品数量. public ProductController (IProductRepositor原创 2016-07-12 16:19:00 · 2041 阅读 · 0 评论 -
ASP.NET MVC4整合NHibernate,FluentNHibernate,MySQL数据库的应用
Models层的类: public abstract class Entity { public virtual int Id { get; set; } } public class Thingy : Entity { public virtual string Name { get; set; } }HomeController类如下:public cla原创 2016-07-31 23:50:11 · 1552 阅读 · 0 评论 -
ASP.NET MVC4使用MongoDB做的相册管理
TIPS:1.Image转成Base64保存到mongodb字段 2.数据模型是嵌套的关联首先定义Model层:public class Photo : IEquatable { [Required] public string PhotoName { get; set; } [Required]原创 2016-07-17 12:49:33 · 6453 阅读 · 0 评论 -
在Asp.net MVC项目中GridView使用
让我们坚强的,就是经历,使我们成熟的,就是阅历,磨难给了我们本领,洗礼给了我们信心。没有谁,是不去经受生活的磨练,没有谁,是不去接受岁月的洗礼。慢慢地就明白,人生,原来就是一个懂字。Models文件下实体类: public class Customer { public int Id { get; set; } public string C原创 2016-09-27 10:24:02 · 3710 阅读 · 0 评论 -
App_GlobalResources、App_LocalResources (理论篇)
如果您创建的网页将由使用不同语言的用户阅读,则必须为这些读者提供用他们自己的语言查看网页的方法。一种方法是分别用各语言重新创建页面,但这种方法可能需要大量工作量、容易出错并且在更改原始页时很难维护。 ASP.NET 为您提供了一种方法,使用这种方法创建的页可以根据浏览器的首选语言设置或用户显式选择的语言获取内容和其他数据。内容和其他数据指的就是资源,此类数据可以存储在资源文件或其他源中。 资源文件在转载 2016-10-05 10:38:08 · 2592 阅读 · 0 评论 -
ASP.NET MVC应用程序中实现国际化(结合使用AngularJS)
我们无法预知未来的路,只得集中精力走好脚下的每一步。该发生的总会发生,不管你是否为此焦虑。向前走,向前看,生活就这么简单。每一个坚强的人,都有一颗柔软的心,摆正心态,温柔自相随,哭给自己听,笑给别人看,这就是所谓的人生。Model层:public partial class EmployeeInfo { public int EmpNo { get; set; }原创 2016-10-05 11:59:27 · 2678 阅读 · 0 评论 -
MVC4结合GetOrgChart.js实现组织架构图
你身在何处?就在这里;身在何时?此时此刻;你在做什么?活在当下。实体类:Employee.cs [Table("Employees")] public class Employee { public string Id { get; set; } public string ParentId { get; set; } public s原创 2017-01-16 17:12:03 · 2723 阅读 · 0 评论 -
Net MVC4使用Memcached实现分布式缓存
先分析以下需求软件架构从单机到分布式遇到的问题(当然这是一个很深的问题,由于能力有限今天就说说如何实现用户信息的分布式存储的问题),也就是:走向分布式第一步:多台机器共享用户登录状态,该如何实现?例如:现在有三台机器组成了一个web的应用集群,其中一台机器用户登录,然后其他另外两台机器共享登录状态?具体请看下面的图示: 问题:如果有一个用户第一次登陆的时候,负载均衡把该用户分配到IIS1这台服转载 2017-04-06 16:43:00 · 3211 阅读 · 1 评论 -
ASP.NET MVC分页库(一)【基础类库】
实体,接口,实现类 public interface IPagedList { int PageCount { get; } int TotalItemCount { get; } int PageIndex { get; } int PageNumber { get; } int PageSize {原创 2017-04-09 00:09:08 · 1408 阅读 · 0 评论 -
ASP.NET MVC分页库(二)【使用示例】
昨天,我的人生朝一个方向前进;而今天却朝着另一个方向。昨天,我相信我不可能做的事;今天,我却做了。项目结构:实体类: public class Product { public string Name { get; set; } public string Category { get; set; } } public class SearchM原创 2017-04-09 12:07:22 · 1716 阅读 · 0 评论 -
在 ASP.NET WebForm中使用 Route
使用过ASP.NET MVC的同学可能对Route已经有些接触,在ASP.NET WebForm中为实现类似的功能也许会使用URL Rewrite。本文将介绍在ASP.NET WebForm中使用Route。1.找到Global.asax文件,如果没有这个文件就新建一个。2.添加RegisterRoutes方法 Code highlighting produced by Actipro CodeHi转载 2017-03-30 23:14:23 · 4579 阅读 · 0 评论 -
MVC Razor模板引擎
@RenderBody、@RenderPage、@RenderSection及Html.RenderPartial、Html.RenderAction说明一、Views文件夹 -> Shared文件夹下的 _Layout.cshtml 母版页@RenderBody当创建基于_Layout.cshtml布局页面的视图时,视图的内容会和布局页面合并,而新创建视图的内容会通过_Layout.cshtml布转载 2017-04-05 16:31:36 · 1302 阅读 · 0 评论 -
C#进阶系列——WebApi 路由机制剖析:你准备好了吗?
正文前言:从MVC到WebApi,路由机制一直是伴随着这些技术的一个重要组成部分。它可以很简单:如果你仅仅只需要会用一些简单的路由,如/Home/Index,那么你只需要配置一个默认路由就能简单搞定;它可以很神秘:你的url可以千变万化,看到一些看似“无厘头”的url,感觉很难理解它如何找到匹配的action,例如/api/user/1/detail,这样一个url可以让你纠结半天。它可以很晦涩:当转载 2017-05-11 10:39:33 · 1234 阅读 · 0 评论 -
MVC 4中使用ServiceStack.Redis实现Redis队列【错误日志并发处理】
HomeController.cs public class HomeController : Controller { // GET: /Home/ //1.怎样在MVC中捕获异常信息. public ActionResult Index() { int a = 2; int b转载 2017-04-26 13:37:50 · 3306 阅读 · 1 评论 -
Html.partial和RenderPartial的用法与区别
Html.partial和RenderPartial的用法与区别Html.partial和RenderPartial都是输出html片段,区别在于Partial是将视图内容直接生成一个字符串并返回(相当于有个转义的过程),RenderPartial方法是直接输出至当前 HttpContext(因为是直接输出,所以性能好)。因此它们在视图中的使用方式是不同的:MVC2:输出到 Htt转载 2015-04-25 00:16:49 · 3276 阅读 · 0 评论