03 2012 档案

摘要:实现自定义的过滤器只需要继承FilterAttrbute类,并实现IActonFilter,IResultFilter接口,为了这个过程更加容易,可以直接继承ActionFilterAttribute基类:ActionFilterAttribute:是一个抽象类,其中包含4个可以重写的方法:1.OnActionExecuting:该方法在使用过滤器特性标记的任何动作方法之前执行,基类的所以方法都可以使用上下文对象作为参数:上下文对象是ActionExecutingContext类的实例:ActionParameters:传送至动作的所以参数列表ActionDescriptor: 包含与即将执行 阅读全文
posted @ 2012-03-23 13:47 sulin 阅读(389) 评论(0) 推荐(0) 编辑
摘要:动作过滤器是可用于修饰动作方法或者控制器的自定义特性,框架将在执行动作之前或者之后执行动作过滤器的逻辑。实现过滤器需要创建一个继承FilterAttribute的类。或者根据希望实现的过滤器类型,创建一个继承自该类特定实现的类。过滤器有4中类型:授权过滤器 该过滤器在动作之前执行,用于验证是否允许当前用户完成所有的请求操作。除了继承FilterAttribute 类之外,还实现了IAuthorizationFilter接口(该接口只有一个方法OnAuthorization),可以编写自己的授权过滤器,但是大多情况,可以使用框架提供的Authorize过滤器。 异常过滤器 处理在动作方法中末被捕 阅读全文
posted @ 2012-03-23 13:46 sulin 阅读(406) 评论(0) 推荐(0) 编辑
摘要:1,创建自定义的htmlhelper,重写<% = Html.GetWelcomes(new WelcomeParam { Lan="cn", Name="sulin"} ) %>CS文件:public class WelcomeParam { private string lab_Wel_Cn = "欢迎【{0}】登陆本系统!"; public string Lab_Wel_Cn { get { return lab_Wel_Cn; } set { lab_Wel_Cn = value; } } private stri 阅读全文
posted @ 2012-03-23 13:44 sulin 阅读(322) 评论(0) 推荐(0) 编辑
摘要:Asp.net Mvc 不使用服务器控件的原因:1.要使用服务器控件处理自己的交互,发送(post)操作需要始终返回到其中声明控制器页面,这是通过使用臭名昭著的回送概念完成的,在asp.net mvc 中不使用该概念;2.控件只能操作边界的内容,边界外的所有内容必须和以前一样返回给用户,这个工作是通过将页面的所有组件储存的到页面视图状态中完成的,在mvc中没有提供该抽象过程。局部视图: 实际局部视图就是mvc用户控件,较小的可以重新使用试图块。局部视图的目的是呈现视图的一部分,从父对象的viewdata获取数据或者通过专门为其传递模型对象的获取数据。从技术层面来说,局部只是一个视图,其中包含的 阅读全文
posted @ 2012-03-23 13:42 sulin 阅读(426) 评论(0) 推荐(0) 编辑
摘要:必须在任何请求之前添加路由,所以添加路由的唯一路径就是Global.asax文件的Application_Start事件内部public static void RegisterRoutes(RouteCollection routes) {Route bolg = new Route( "blog/arch/{year}/{month}/{day}", new MvcRouteHandler() );routes.Add(blog); }protected void Application_Start() { RegisterRoutes(RouteTable.Route 阅读全文
posted @ 2012-03-23 13:40 sulin 阅读(804) 评论(0) 推荐(0) 编辑
摘要:DetaTokens属性:该属性是附加自定义值的集合,这些自定义的值将被传递到路由处理程序,但不参与路由拼配过程,在动作内部,只能通过控制器的RouteData属性访问在DataTokens中包含的值示例:如果有一个新站点:并且通过url设置需要访问数据库解决方案一: 路由定义: Route bolg = new Route( "blog/{database}/{year}/{month}/{day}", new MvcRouteHandler() ); blog.Defaults = new RouteValueDictionary( new { controller = 阅读全文
posted @ 2012-03-23 13:37 sulin 阅读(224) 评论(0) 推荐(0) 编辑
摘要:Defaults:Url包含的段的数量可以比于其匹配的模式中的url参数的数量少,如:http://localhost:8001/blog/2011/11没有day参数的指定数值,在这种情况下,需要为缺少的参数指定默认值,可以通过Defaluts属性完成Defaults是一个RouteValueDictionary对象,该对象为每个希望为其提供默认值的参数包含一个条目:RouteValueDictionary类是一个与常规字典类似的键/值对集合,但具有有一些特定的方法,这些方法使得路由引擎能够工作,并且是创建该类的实例更加容易。示例:匿名类型创建,每个属性作为健的名称:blog.Default 阅读全文
posted @ 2012-03-23 13:35 sulin 阅读(319) 评论(0) 推荐(0) 编辑
摘要:为什么需要路由:更好的优化Url使用户能够更容易记住和理解 对于SEO有很大的帮助Mvc 路由包含:路由:路由是包含Url和一些约束条件的类,为了确定路由将根据请求评估url 模式和约束路由处理程序;路由处理程序应用于处理特定请求的类全局路由表:全局路由表列出在应用程序中注册的所以路由。通常在第一次启动应用程序时,使用用户的路由初始化全局路由表包含的5大属性:Url:传统的url 思维模式认为,url代表服务器的上一个物理路径,而mvc中是根据一定规则设置路由url的匹配方式,必须通过RouteData的属性传递到路由处理程序。示例:Route blog=new Route( "bl 阅读全文
posted @ 2012-03-23 13:33 sulin 阅读(494) 评论(0) 推荐(0) 编辑
摘要:为了是Asp.net MVC变成经典的Asp页面,如果代码比较多,不仅仅是一个属性,包含一些操作是,就应该编写自己的辅助方法示例:View:<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" AutoEventWireup="true" CodeBehind="~/Views/CustemHlper/TestHelper.cs" Inherits="MvcTest.Views.Cu 阅读全文
posted @ 2012-03-23 13:29 sulin 阅读(323) 评论(0) 推荐(0) 编辑
摘要:创建表单:<% using(Html.BeginForm()) { %><!-- From Content--><%} %> 如果希望代码向另一个动作或者控制器传输数据 示例: <% using(Html.BeginForm<HomeController>(c => c.About(), FormMethod.Post, new { onclick="alert('Hello MVC')"})) { %><!-- From Content--><% }%>或者:< 阅读全文
posted @ 2012-03-23 13:28 sulin 阅读(333) 评论(0) 推荐(0) 编辑
摘要:编写HTML的辅助方法: ActionLink方法: 参数介绍: linkText:连接文本 actionName:连接到动作名称 controllerName:连接到控制器的名称 该参数是可选的,如果没有提供,默认 是当前控制器。 routeValue:传递至动作的可选参数。可以作为匿名类型或者 RouteValueDictionary实例提供该列表(与控制器中的RedirectToAction方法一样)htmlAtrrbutes:html特性列表,该列表将插入到连接的锚标签中,参数可选,并且可以定义为匿名类型,也可定义为IDictionary<string,object>类型。 阅读全文
posted @ 2012-03-23 13:26 sulin 阅读(284) 评论(0) 推荐(0) 编辑
摘要:4控制器定义动作的特性: NonAction :使用该属性标识的公用方法不会被视为动作示例:[NonAction] Public void ThisIsNotAnAction(){ return view();} ActionName:动作默认名称是动作的方法名称,但是可以通过使用ActionName特性标记方法来改变动作的名称示例:[ActionNmae("View")]Public ActionResult NotTheSameView(){ Return view();} AcceptVerbs:设置动作能对其作出响应Http动词,及就是两个相同动作名称并且响应不同的 阅读全文
posted @ 2012-03-20 19:27 sulin 阅读(298) 评论(0) 推荐(0) 编辑
摘要:1.列出MVC模式的三个组件并说明各个组件作用? 模型:该组件负责从数据库检索对象并应用特定于领域的逻辑 控制器:在组件负责接收用户的输入,调用模式以及传递数据供视图显示 视图:组件负责显示从控制器接收到数据2.阐述表示模型的作用? 表示模型是模型的一部分,其中包含的对象只用于从从控制器向视图传递数据,表示模 型包含可供视图呈现并不需要处理的数据3.MVC与MVP模式的区别? 在MVP模式下首先访问视图,然后达到表示器, 在MVC模式下首先访问控制器,然后到达视图 在MVC下,各个组件是标准类,它们通过简单的方法连接在一起 在NVP下,每个视图必须实现自己的接口,并且必须发布一些表示器必须订阅 阅读全文
posted @ 2012-03-20 19:25 sulin 阅读(199) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示