Pages: 2/9 First page Previous page 1 2 3 4 5 6 7 8 9 Next page Final page [ View by Articles | List ]
Feb 19
实现mvvm模式的最近很强大的knockoutjs

相关介绍:http://www.cnblogs.com/n-pei/archive/2011/07/21/2113022.html
Apr 25
HtmlHelper给DropDownList设置初始选中值的问题

调用:
Apr 13
System.Web.Mvc.HtmlHelper学习及使用

输出
Dec 19
有过mvc3开发经历的人都知道路由在Global.asax.cs里面,到mvc4,不见了,我们来瞧一个老外怎么说的:
ASP.NET MVC 4: Where Have All The Global.asax Routes Gone?
Dec 17

 安装了vs2012,开始看看MVC4,博客园里的文章教程开始:

http://www.cnblogs.com/xdotnet/archive/2012/03/05/aspnet_mvc40_preview.html

Sep 17
今天开始,回头再看看mvc,下个asp.net mvc4耍耍
微软下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=30683
包括ASP.NET MVC4安装包,和ASP.NET MVC4中文汉化包
visual studio2010 sp1补丁下载地址http://www.microsoft.com/zh-cn/download/details.aspx?id=23691
Apr 2
ASP.NET MVC(以下简称mvc)的其中一个特性是使用了一个新的路由组件(routing engine)来提供一种更为舒适的将URL映射到程序中的特定页面上。在mvc开发的早期微软就意识到System.Web.Routing这个基础组件不但只为mvc使用,还应该能使用在传统的asp.net模型中,以提供更简单的URL重写功能(当然微软还意识到可以把它与Dynamic Data配合使用)。因此,他们把Routing这个功能从mvc中提取出来,并且作为.net 3.5 sp1的一部分发布.

那我们来看看它的工作原理吧!

System.Web.Routing有两个核心部分:Route和RouteHandler。一个route是一个简单的类,包含与请求的url想匹配的模式(pattern)。每个传入的url将会与你定义的Routes集合相匹配,只要匹配上第一个就会立刻使用该模式。一个Route看起来会像这样:

"Catalog/{Category}/{ProductId}"

这个模式将会匹配任何传入的以”/Catalog/”开头的url,比如“/Catalog/Computers/3344”就会与该模式匹配。在花括号中的字符串叫做段(segment),这些将会被记录并且在之后的route handler中使用。这些route被定义在System.Web.Routing.RouteTable类的Routes这个静态字段中,在global.asax的Application_Start方法中是这样:
void Application_Start(object sender, EventArgs e)
{
   RegisterRoutes(RouteTable.Routes);
}

public static void RegisterRoutes(RouteCollection routes)
{
   routes.Add(new Route("Catalog/{Category}/{ProductId}", new CatalogRouteHandler()));
}
到这里,您可能注意到了RegisterRoutes方法中CatalogRouteHandler这个类, 为了处理传入的请求去对应我们提供的route,我们需要创建他。一个程序可以有N个这样的Route handler去处理不同类型的请求。
所有的Route Handlers都是实现了只拥有一个叫做GetHttpHandler方法的IRouteHandler接口,这个方法返回一个IHttpHandler。这个接口大家应该非常熟悉了,他也只有一个方法——带有HttpContext类型参数的ProcessRequest方法。
我们刚刚从提供的一系列模式(pattern)中去匹配了一系列url,当找到了匹配的模式后我们将使用轩昂关联的IRouteHandler去获取将要能够回应这个请求的IHttpHandler。
我们的例子IRouteHandler将要返回一个Page类的实例。上文中的GetHttpHandler方法带有一个RequestContext类型的参数。RequestContext类有2个属性:一个是类型为System.Web.HttpContextBase的HttpContext,另一个是System.Web.Routing.RouteData类型的RouteData。
System.Web.HttpContextBase是.net 3.5 sp1中增加的一个类,他是一个对以前的不方便做测试的HttpContext类的abstract wrapper。需要注意到是他属于System.Web.Abstractions程序集。所以要引用它才可以。
HttpContext属性只允许访问我们从HttpContext中收集到的信息,因此我们可以根据请求的数据自身来判断使用的route。比如如果我们想要对于http和https的请求做不同的操作,或者我们需要redirect到其他域,或者是接受从子域(sub-domain)传递过来的请求。
Pages: 2/9 First page Previous page 1 2 3 4 5 6 7 8 9 Next page Final page [ View by Articles | List ]