zoukankan      html  css  js  c++  java
  • asp.net mvc中的路径选择

    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        }
     

    对应的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>
    作者:菩提树下的杨过
    出处:http://yjmyzz.cnblogs.com
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    快速排序和归并排序
    docker 配置redis主从配置 集群 正式部署
    物联网平台定位
    如何让我的设备连接上云?参考如下路径
    MQTT协议中文版
    org.eclipse.paho.client.mqttv3 源码解析(二) 接收
    org.eclipse.paho.client.mqttv3 源码解析(一) 发送
    基于mqtt的消息推送(三)客户端实现
    基于mqtt的消息推送(二)服务端实现
    基于mqtt的消息推送(一)技术选型
  • 原文地址:https://www.cnblogs.com/yjmyzz/p/1142244.html
Copyright © 2011-2022 走看看