asp.net mvc中的路径选择

简介: MVC的路径选择十分灵活,可以用类似/parm1/parm2/parm3/ 的方式(这个有点象iis的urlrewriter),也可以象传统url那样用/?parm1=a&parm2=b&parm3=c这样访问 关键是Global.

MVC的路径选择十分灵活,可以用类似/parm1/parm2/parm3/ 的方式(这个有点象iis的urlrewriter),也可以象传统url那样用/?parm1=a&parm2=b&parm3=c这样访问

关键是Global.asax中Route规则的配置

以下是一个Global.asax的示例:


 1 protected   void  Application_Start( object  sender, EventArgs e)
 2          {
 3            // Note: Change Url= to Url="[controller].mvc/[action]/[id]" to enable 
 4            //       automatic support on IIS6
 5
 6            RouteTable.Routes.Add(new Route
 7            {
 8                Url = "[controller]/[action]",
 9                Defaults = new { action = "Index" },
10                RouteHandler = typeof(MvcRouteHandler)
11            }
);
12
13
14            RouteTable.Routes.Add(new Route
15            {
16                Url = "[controller]/[action]/[id]",
17                Defaults = new { action = "Index", id = (int?)null },
18                RouteHandler = typeof(MvcRouteHandler)
19            }
);
20
21
22            RouteTable.Routes.Add(new Route
23            {
24                Url = "[controller]/[action]/[id]/[name]",
25                Defaults = new { action = "Index", name = (string)null,id=(int?)null },
26                RouteHandler = typeof(MvcRouteHandler)
27            }
);
28
29            RouteTable.Routes.Add(new Route
30            {
31                Url = "[controller]/[action]/[id]/[name]/[sex]",
32                Defaults = new { action = "Index", name = (string)null, id = (int?)null,sex=(string)null },
33                RouteHandler = typeof(MvcRouteHandler)
34            }
);   
35
36
37            RouteTable.Routes.Add(new Route
38            {
39                Url = "Default.aspx",
40                Defaults = new { controller = "Home", action = "Index", id = 2, name = "Jimmy",sex="female" },
41                RouteHandler = typeof(MvcRouteHandler)
42            }
);
43        }
 

对应的HomeController文件:
public   class  HomeController : Controller
    
{       

        
/**//// <summary>
        
/// Example URL: /Home/Index/?id=2&name=abc&sex=male (对应Url = "[controller]/[action]")                     
        
///              /Home/Index/2/?name=abc&sex=male  (对应Url = "[controller]/[action]/[id]")          
        
///              /Home/Index/2/abc/?sex=male  (对应Url = "[controller]/[action]/[id]/[name]")
        
///              /Home/Index/2/abc/male/ (对应Url = "[controller]/[action]/[id]/[name]/[sex]")
        
///              /Home/Index/2/abc/  (对应Url = "[controller]/[action]/[id]/[name]")
        
///              /Home/Index/2/ (对应Url = "[controller]/[action]/[id]")
        
/// </summary>
        
/// <param name="id"></param>

        [ControllerAction]
        
public void Index(int? id,string name,string sex)
        
{
            ViewData[
"id"= id;
            ViewData[
"name"= name;
            ViewData[
"sex"= sex;
            RenderView(
"Index");
        }
      
    }

对应的Index视图:
<% @ Page Language = " C# "  MasterPageFile = " ~/Views/Shared/Site.Master "  AutoEventWireup = " true "  CodeBehind = " Index.aspx.cs "  Inherits = " MVCDemo.Views.Home.Index "   %>

< asp:Content ID = " Content2 "  ContentPlaceHolderID = " MainContentPlaceHolder "  runat = " server " >

    
< h2 > Welcome to my ASP.NET MVC Application !</ h2 >
    
    id
=<%= ViewData[ " id " %>   < br />
    name
=<%= ViewData[ " name " as   string   %>< br />
    sex
=<%= ViewData[ " sex " as   string   %>

</ asp:Content >
目录
相关文章
|
监控 前端开发 API
一款基于 .NET MVC 框架开发、功能全面的MES系统
一款基于 .NET MVC 框架开发、功能全面的MES系统
752 5
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
465 7
|
存储 开发框架 前端开发
ASP.NET MVC 迅速集成 SignalR
ASP.NET MVC 迅速集成 SignalR
387 0
|
开发框架 前端开发 .NET
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
387 0
|
开发框架 前端开发 安全
ASP.NET MVC 如何使用 Form Authentication?
ASP.NET MVC 如何使用 Form Authentication?
533 0
|
开发框架 .NET
Asp.Net Core 使用X.PagedList.Mvc.Core分页 & 搜索
Asp.Net Core 使用X.PagedList.Mvc.Core分页 & 搜索
849 0
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
923 0
|
存储 开发框架 前端开发
[回馈]ASP.NET Core MVC开发实战之商城系统(五)
经过一段时间的准备,新的一期【ASP.NET Core MVC开发实战之商城系统】已经开始,在之前的文章中,讲解了商城系统的整体功能设计,页面布局设计,环境搭建,系统配置,及首页【商品类型,banner条,友情链接,降价促销,新品爆款】,商品列表页面,商品详情等功能的开发,今天继续讲解购物车功能开发,仅供学习分享使用,如有不足之处,还请指正。
525 0
|
开发框架 前端开发 .NET
[回馈]ASP.NET Core MVC开发实战之商城系统(三)
[回馈]ASP.NET Core MVC开发实战之商城系统(三)
385 0
|
开发框架 前端开发 .NET
[回馈]ASP.NET Core MVC开发实战之商城系统(一)
[回馈]ASP.NET Core MVC开发实战之商城系统(一)
635 0