asp.net mvc中的路径选择
来源:互联网 发布:电视剧网络点击率排行 编辑:程序博客网 时间:2024/05/18 02:31
MVC的路径选择十分灵活,可以用类似/parm1/parm2/parm3/ 的方式(这个有点象iis的urlrewriter),也可以象传统url那样用/?parm1=a&parm2=b&parm3=c这样访问
关键是Global.asax中Route规则的配置
以下是一个Global.asax的示例:
1protected 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 }
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");
}
}
{
/**//// <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>
<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>
- asp.net mvc中的路径选择
- ASP.NET MVC框架 (第二部分): URL路径选择
- ASP.NET MVC Framework体验:路径选择(URL Routing)
- ASP.NET MVC框架 (第二部分): URL路径选择
- ASP.NET MVC框架(第二部分): URL路径选择
- ASP.NET MVC框架 (第二部分): URL路径选择
- Asp.net MVC中的"??"
- ASP.NET MVC Framework体验(5):路径选择(URL Routing)
- [转自scott]ASP.NET MVC框架 (第二部分): URL路径选择
- ASP.NET MVC Framework体验(5):路径选择(URL Routing)
- ASP.NET MVC Framework体验(5):路径选择(URL Routing)(转)
- ASP.NET MVC中的验证
- ASP.NET MVC中的ActionResult
- ASP.NET MVC中的View
- ASP.NET MVC中的验证
- Asp.Net MVC中的约定
- ASP.NET MVC中的View
- Asp.Net MVC中的过滤器
- 完全用Linux工作,摈弃Windows
- 花了一天时间把ouspec的javaeye博客看完
- 废除金本位:银行家赋予罗斯福的历史使命
- 【转载】超文本传输协议HTTP/1.1解释
- 层与层之间关系
- asp.net mvc中的路径选择
- js取出表格的行号列号和值
- WebSphere服务器 启动和停止 命令详解
- 今天系分评审被驳回的感悟
- PHP中的类学习指导
- JavaScript就这么回事
- 职场不快乐N种理由
- utf,unicode,ascii字符串之间的相互转换
- SQL2005导入导出数据库问题