zoukankan      html  css  js  c++  java
  • 在ASP.NET MVC 中获取当前URL、controller、action 、参数

    URL的获取很简单,ASP.NET通用:
    【1】
    获取 完整url
    (协议名+域名+虚拟目录名+文件名+参数)

    string url=Request.Url.ToString();

    【2】获取 虚拟目录名+页面名+参数:

    string url=Request.RawUrl;
    (或 string
    url=Request.Url.PathAndQuery;)

    【3】获取
    虚拟目录名+页面名:
    string url=HttpContext.Current.Request.Url.AbsolutePath;
    (或
    string url= HttpContext.Current.Request.Path;)

    【4】获取 域名:
    string
    url=HttpContext.Current.Request.Url.Host;

    【5】获取 参数:
    string url=
    HttpContext.Current.Request.Url.Query;


    【6】获取 端口:
    Request.Url.Port


    二、当前controller、action的获取
    RouteData.Route.GetRouteData(this.HttpContext).Values["controller"]
    RouteData.Route.GetRouteData(this.HttpContext).Values["action"]

    RouteData.Values["controller"]
    RouteData.Values["action"]

    如果在视图中可以用
    ViewContext.RouteData.Route.GetRouteData(this.Context).Values["controller"]
    ViewContext.RouteData.Route.GetRouteData(this.Context).Values["action"]

    ViewContext.RouteData.Values["controller"]
    ViewContext.RouteData.Values["action"]

    在ASP.NET MVC中,Request对象中URL相关属性的返回值。

     1 Request.OriginalString //返回最原始的地址,即浏览器中的原生内容 http://localhost:3638/Test/Show?id=1  
     2   
     3 Request.RawUrl //返回不包含Host Address信息的字符串 /Test/Show?id=1  
     4   
     5 Request.Query //返回路径中的参数,ASP.NET MVC中通常以/的方式附带参数,但是这里返回的是?后边的值,所以/方式的参数这里是看不到的 ?id=1  
     6   
     7 Request.Schema //返回请求类型  http  
     8   
     9 Request.Port //返回端口值 3638  
    10   
    11 Request.LocalPath //返回?前的内容,但不包括Host信息  /Test/Show  
    12   
    13 Request.PathAndQuery //返回RawUrl相同的内容  /Test/Show?id=1  
    14   
    15 Request.Segments // 返回一个字符串数组,将LocalPath以/划分成字符串数组 ["/","Test/","Show"] 
    16  
    17 Request.OriginalString //返回最原始的地址,即浏览器中的原生内容 http://localhost:3638/Test/Show?id=1
    18  
    19 Request.RawUrl //返回不包含Host Address信息的字符串 /Test/Show?id=1
    20  
    21 Request.Query //返回路径中的参数,ASP.NET MVC中通常以/的方式附带参数,但是这里返回的是?后边的值,所以/方式的参数这里是看不到的 ?id=1
    22  
    23 Request.Schema //返回请求类型  http
    24  
    25 Request.Port //返回端口值 3638
    26  
    27 Request.LocalPath //返回?前的内容,但不包括Host信息  /Test/Show
    28  
    29 Request.PathAndQuery //返回RawUrl相同的内容  /Test/Show?id=1
    30  
    31 Request.Segments // 返回一个字符串数组,将LocalPath以/划分成字符串数组 ["/","Test/","Show"]
  • 相关阅读:
    Codeforces 1485C Floor and Mod (枚举)
    CodeForces 1195D Submarine in the Rybinsk Sea (算贡献)
    CodeForces 1195C Basketball Exercise (线性DP)
    2021年初寒假训练第24场 B. 庆功会(搜索)
    任务分配(dp)
    开发工具的异常现象
    Telink MESH SDK 如何使用PWM
    Telink BLE MESH PWM波的小结
    [LeetCode] 1586. Binary Search Tree Iterator II
    [LeetCode] 1288. Remove Covered Intervals
  • 原文地址:https://www.cnblogs.com/yanglang/p/6690280.html
Copyright © 2011-2022 走看看