ASP.NET MVC 中 View 的设计】的更多相关文章

1. 前言  感觉有好长时间没有接触View 了,周末闲来无事,翻翻书桌上的书来回顾回顾ASP.NET MVC中View的相关内容. 2. View概述  View 通过应用程序在Action 中返回 ViewResult 或PartialViewResult,在运行阶段内部调用ExecuteResult 方法而产生模版转换(transforamtion),将运行阶段运算后产生的Model 经由模版引擎(template engine) 进行转换,从而生成HTML页面代码,输出到浏览器. //_…
[toc] 上一节介绍了 Asp.net mvc 中除 ViewResult 外的所有的 ActionResult,这一节介绍 ViewResult. ViewResultBase ViewResultBase 是 Asp.net mvc 中所有的 ViewResult 和 ParticalViewResult 的基类,该类继承自 ActionResult.该类的定义如下示: //---------------------------------属性部分---------------------…
[toc] 我们知道针对客户端的请求,最终都会转换为对 Controller 中的一个 Action 方法的调用,指定的 Action 方法会返回一个 ActionResult 类型的实例来响应该请求,但 ActionResult 类型的实例是如何转换为请求终端最终呈现的页面的呢?这就是我们这里要介绍的. ActionResult 每个标准的 Action 方法总会返回一个 ActionResult 类型的对象,该类型是一个抽象类,该类的定义如下: public abstract class A…
ASP.NET MVC中Controller向view传值的方式: ViewBag.ViewData.TempData 单个值的传递 Json 匿名类型 ExpandoObject Cookie ViewModel(向普通View页面传个Model对象.向强类型页面传一个Model对象.用一个ViewModel对象解决所有问题) ASP.NET MVC中view向Controller传值的方式 QueryString RouteData Model Binding(form.使用和Action参…
ASP.NET MVC 学习笔记-7.自定义配置信息   ASP.NET程序中的web.config文件中,在appSettings这个配置节中能够保存一些配置,比如, 1 <appSettings> 2 <add key="LogInfoProvider" value="Cookie" />//登录信息保存方式 3 </appSettings> 但是这些配置都是单个字符串信息,在某些情况下,无法做到灵活配置. 针对这种情况,使用…
TransactionScope事务处理方法介绍及.NET Core中的注意事项   作者:依乐祝 原文链接:https://www.cnblogs.com/yilezhu/p/10170712.html 今天在写CzarCms的UnitOfWork的使用使用到了这个TransactionScope事务,因此对它进行了相关资料的查阅并记录如下,希望对大伙在.NET Core中使用有所帮助. 写在前面 您是否曾尝试使用C#代码来实现事务?通常,我们在SQL中一次执行多个Insert / Updat…
在ASP.NET MVC中,经常会在Controller与View之间传递数据 1.Controller向View中传递数据 (1)使用ViewData["user"] (2)使用ViewBag.user (3)使用TempData["user"] (4)使用Model(强类型) 区别: (1)ViewData与TempData方式是弱类型的方式传递数据,而使用Model传递数据是强类型的方式. (2)ViewData与TempData是完全不同的数据类型,View…
在ASP.NET MVC中使用区域来方便管理controller和view 在mvc架构中,一般在controllers和views中写所有控制器和视图, 太多控制器时候,为了方便管理,想要将关于person的所有控制器放在一个文件夹里面,这样就容易查看和管理. 这时候在WEB下面创建一个Areas文件夹.(和Controllsers文件夹同级) 然后在Areas里面右键选择新建区域. 会自动创建一个路由信息,和web.comfig还有controllers文件夹等. 这时候就可以很清晰的管理和…
上篇我们介绍了MVC的路由,知道在注册路由的时候会创建一个MvcHandler将其和Url规则一起放入到了RouteCollection中,之后请求通过UrlRoutingModule,根据当前的URL去RouteCollection中找到MVCRouteHandler,而MVCRouteHandler的GetHttpHandler方法返回了一个MvcHandler对象. 接下来我们来看下MvcHandler源码做了什么,注意下面标注红色的代码,在ProquestRequestInit里面通过t…
一. ASP.NET MVC中的TempData 在ASP.NET MVC框架的ControllerBase中存在一个叫做TempData的Property,它的类型为TempDataDictionary,顾名思义是一个字典类.TempData在ASP.NET MVC中的作用是:可用于在Action执行过程之间传值.简单的说,你可以在执行某个Action的时候,将数据存放在TempData中,那么在下一次Action执行过程中可以使用TempData中的数据. 如: public ActionR…
介绍 当涉及到计算机软件的开发时,我想运用所有的最新技术.例如,前端使用最新的 JavaScript 技术,服务器端使用最新的基于 REST 的 Web API 服务.另外,还有最新的数据库技术.最新的设计模式和技术. 当选择最新的软件技术时,有几个因素在起作用,其中包括如何将这些技术整合起来.过去两年中,我最喜欢的一项技术就是设计单页面应用(SPA)的 AngularJS.作为一个微软stack开发者,我也是使用 ASP.NET MVC 平台实现 MVC 设计模式和并进行研究的粉丝,包括它的捆…
本文转自:http://www.cnblogs.com/ejiyuan/archive/2010/03/09/1681442.html ScottGu在其最新的博文中推荐了Simone Chiaretta的文章13 ASP.NET MVC extensibility points you have to know,该文章为我们简单介绍了ASP.NET MVC中的13个扩展点.Keyvan Nayyeri(与Simone合著了Beginning ASP.NET MVC 1.0一书)又陆续发表了一些…
这是非常详尽的asp.net mvc中的outputcache 的使用文章. [原文:陈希章 http://www.cnblogs.com/chenxizhang/archive/2011/12/14/2288062.html] 前言 为什么需要讨论缓存?缓存是一个中大型系统所必须考虑的问题.为了避免每次请求都去访问后台的资源(例如数据库),我们一般会考虑将一些更新不是很频繁的,可以重用的数据,通过一定的方式临时地保存起来,后续的请求根据情况可以直接访问这些保存起来的数据.这种机制就是所谓的缓存…
随着MVC模式的广泛运用,对Web应用系统的开发带来了巨大的影响,我们好像又回到了原来的ASP时代,视乎这是一种后退而不是一种进步,不过MVC模式给我们带来的影响不仅限于我们所看到的这一点..MVC看上去是使用原来的HTML页面来呈现内容,但其核心是 .NET路由引擎,通过.NET路由引擎使得MVC设计模式更容易被理解,更方便开发人员所使用,而且不必担心视图状态以及页面的生命周期. ActiveReports最初是为传统的 .NET Web Forms 系统所设计,但也可用于MVC模式的系统中.…
我们知道,在ASP.NET MVC中实现多选Select的话,使用Html.ListBoxFor或Html.ListBox方法就可以.在实际应用中,到底该如何设计View Model, 控制器如何接收多选Select的选中项呢? 实现效果如下: 初始状态某些选项被选中. 当按着ctrl键,进行重新选择多项,点击"提交"按钮,把选中项的id拼接. 对于Select中的项,包含显示值,Value值,以及是否选中,抽象成如下的类. public class City { public int…
     ScottGu在其最新的博文中推荐了Simone Chiaretta的文章13 ASP.NET MVC extensibility points you have to know,该文章为我们简单介绍了ASP.NET MVC中的13个扩展点.Keyvan Nayyeri(与Simone合著了Beginning ASP.NET MVC 1.0一书)又陆续发表了一些文章,对这13个扩展点分别进行深入的讨论.我将在以后的随笔中对这些文章逐一进行翻译,希望能对大家有所帮助. ASP.NET M…
Cache有多种翻译,可以是高速缓冲存储器,也可以是法国的服装品牌,本文只是简单的谈谈就是ASP.NET 中Cache,做过Web应用程序的都知道,如果网站访问量比较大,系统应用程序可以将那些频繁访问的数据,以及那些需要大量处理时间来创建的数据存储在内存中,从而提高性能. 举一个很简单的例子,如果在博客园发布文章到首页,发布之后是不能即时看到自己的文章的,大概一分钟之后才能刷出数据,这就是常用的页面缓存.缓存分为两种,一般都是页面缓存以及应用程序缓存. 页面缓存 页面输出缓存是一类针服务器应用程…
本文转自:ASP.NET MVC中的两个Action之间值的传递--TempData 一. ASP.NET MVC中的TempData 在ASP.NET MVC框架的ControllerBase中存在一个叫做TempData的Property,它的类型为TempDataDictionary,顾名思义是一个字典类.TempData在ASP.NET MVC中的作用是:可用于在Action执行过程之间传值.简单的说,你可以在执行某个Action的时候,将数据存放在TempData中,那么在下一次Act…
很久没在博客园发表文章了,今天来总结一下如何在asp.net mvc中添加自定义的HTML辅助方法.我们现在设计这么一个目前,利用自定义的HTML方法来渲染一个普通的img标记.直接进入主题吧: 首先我们先来看一下一个普通的img标签在HTML中的代码: <img src="Content/images/封面.jpg" alt="图片" id="img01" width="500px" height="250p…
松耦合.针对抽象编程.不针对实现编程是面向对象设计的原则.依赖注入就是,在一个类的内部,不通过创建对象的实例而能够获得实现了某个公开接口的对象引用.所谓的控制反转也是相同的意思.把依赖的创建转移到了使用这些依赖的类的外部,反转的是依赖的创建.控制反转可以是通过依赖注入和服务定位器模式来实现.依赖注入特别适用于复杂的依赖关系的程序中. 在Asp.net MVC程序中,经常使用仓储模式来分离控制器和数据访问层.有利于进行单元测试和测试驱动开发(TDD). 实现依赖注入可以使控制器和使用的仓储层相互独…
上一篇,介绍了怎么导出Excel文件,这篇文章介绍在ASP.NET MVC中使用水晶报表. 项目源码下载:https://github.com/caofangsheng93/CrystalReportInMac 前提条件:你需要有VS,SQL Server 当然最重要的就是安装Crystal Report. 这里我提供我百度网盘的安装文件:http://pan.baidu.com/s/1bpcK3ZD,我这里是Crystal Report for VS2013的版本.需要其他的版本大家自己去搜去…
在 ASP.NET MVC 中,我们将前端的呈现划分为三个独立的部分来实现,Controller 用来控制用户的操作,View 用来控制呈现的内容,Model 用来表示处理的数据. 从控制器到视图 通常,在 Controller 中,我们定义多个 Action ,每个 Action 的返回类型一般是 ActionResult,在 Action 处理的最后,我们返回对于视图的调用. public ActionResult Index() { return this.View(); } 默认情况下,…
Serilog 是一种非常简便记录log 的处理方式,使用Serilog可以生成本地的text文件, 也可以通过 Seq 来在Web界面中查看具体的log内容. 接下来就简单的介绍一下在Asp.Net MVC中如何配置是Serilog 生效: 1):下载并且安装Seq,具体的下载URL 为 [http://getseq.net/Download],安装到默认的路径之后,实际上时候启动了一个Win Service,并且监听的端口号默认为 5341. 安装的最后一步截图如下: 然后我们到Servic…
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第四章  ASP.NET MVC中使用实体框架 ASP.NET是一个免费的Web框架,它支持3种不同的技术来创建websites(网站)和Web应用:他们分别是,Web Pages,Web Forms,和MVC.虽然MVC是一种非常流行的,有完整的用于软件开发模式理论的技术,但它在ASP.NET中却是一种新的技术. 目前最新的版本是2012年发布的ASP.NET MVC4.自从2008年发布…
asp.net mvc 中 一种简单的 URL 重写 Intro 在项目中想增加一个公告的功能,但是又不想直接用默认带的那种路由,感觉好low逼,想弄成那种伪静态化的路由 (别问我为什么不直接静态化,当时就是只想做成伪静态化以后可能会做成完全静态化),至于为什么做伪静态化或静态化可以自行百度或参考本文最后 Q&A 部分. How to do Step0 注册路由 在注册默认路由前添加自己的重写路由,如下所示的 "Notice routes" 所示,第一个参数是 路由名称,请保持…
在 ASP.NET MVC 中充分利用 WebGrid https://msdn.microsoft.com/zh-cn/magazine/hh288075.aspx Stuart Leeks 下载代码示例 今年早些时候,Microsoft 发布了 ASP.NET MVC 版本 3 (asp.net/mvc) 以及一款名为 WebMatrix 的新产品 (asp.net/webmatrix). 该 WebMatrix 版本中提供了几个工作效率帮助组件,可以简化诸如图表和表格数据呈现等任务. 其中…
ASP.NET MVC中的错误的错误处理跨越了两个主要领域:程序异常和路由异常的处理.前者是关于在控制器和视图中捕获错误的;而后者更多是有关重定向和HTTP错误的. 1.在WebConfig中把过滤器配置启动 <customErrors mode="On"> </customErrors> 控制器的代码报错时,会跳转到~/Views/Shared/Error.cshtml页面.mode="Off"页面不会跳转直接显示错误信息. 2.绑定异常过…
在ASP.NET MVC中,尽管我们可以直接在页面中编写HTML控件,并绑定控件的属性,但更方便的办法还是使用HtmlHelper中的辅助方法.在View中,包含一个类型为HtmlHelper的属性Html,它为我们呈现控件提供了捷径. 我们今天主要来讨论Html.DropDownList的用法,首先从Html.TextBox开始. Html.TextBox有一个重载方法形式如下: publicstaticstringTextBox(thisHtmlHelperhtmlHelper,string…
在 ASP.NET MVC 中使用 HTML Helpers 方法,可以返回得到标准的 HTML 标签,就像 <input>.<button> 或者 <img> 等等. 同样,你也可以创建自己的 HTML Helpers 方法,生成更加复杂的 HTML 内容. 几种不同类型的 HTML Helpers 从以下三种类型去考察 HTML Helpers 的创建和使用 01 在 View 中创建并重复使用 @helper ListingItems(string[] items…
在ASP.NET MVC中,尽管我们可以直接在页面中编写HTML控件,并绑定控件的属性,但更方便的办法还是使用HtmlHelper中的辅助方法.在View中,包含一个类型为HtmlHelper的属性Html,它为我们呈现控件提供了捷径. 我们今天主要来讨论Html.DropDownList的用法,首先从Html.TextBox开始. Html.TextBox有一个重载方法形式如下: public static string TextBox(this HtmlHelper htmlHelper,…