返回顶部
首页 > 资讯 > 后端开发 > ASP.NET >ASP.NET MVC从控制器中获取URL值
  • 820
分享到

ASP.NET MVC从控制器中获取URL值

2024-04-02 19:04:59 820人浏览 安东尼
摘要

从控制器中获取URL的值有三种方式: 1、使用Request.QueryString[] 例如: string value = Request.QueryString["BookId

从控制器中获取URL的值有三种方式:

1、使用Request.QueryString[]

例如:

string value = Request.QueryString["BookId"].ToString();

注意:Request.QueryString只能获取URL中以?分割的参数值。

案例演示:

action方法代码如下:

#region 1、通过Request.QueryString的方式获取URL的值
public ActionResult Index()
{
       // 获取路由数据
       if (Request.QueryString["BookId"] != null)
      {
            string value = Request.QueryString["BookId"].ToString();
            ViewData["msg"] = value;
       }
       return View();
} 
#endregion

前端页面添加一个P标签,用来输出BookId的值:

<p style="color:red;font-weight:bold">1、通过Request.QueryString获取URL的值:@ViewData["msg"]</p>

运行结果

URL里面没有BookId参数时的结果:

URL里面有Bookid参数时的结果:

注意:URL里面的参数不区分大小写。

Http://localhost:47723/Home/Index?BookId=4546

http://localhost:47723/Home/Index?BookID=4546

http://localhost:47723/Home/Index?bookid=4546

上面的几种URL都可以获取到BooId参数的值(这里只是列举了几种,其他形式的BookId也可以获取到)。

2、使用RouteData.Values

例如:

string paraDatas = string.FORMat("controller={0} action={1} id={2}", RouteData.Values["controller"].ToString(),
                RouteData.Values["action"].ToString(), RouteData.Values["id"]);

注意:RouteData.Values["id"]就是当前字典上的路由数据,通过访问键名的方式得到键值,比如URL模式匹配的字符串是ID,则key的值必须是id。

案例演示

action方法代码如下:

public ActionResult Index()
{
      // 获取路由数据
      string paraDatas = string.Format("controller={0} action={1} id={2}", RouteData.Values["controller"].ToString(),
                    RouteData.Values["action"].ToString(), RouteData.Values["id"]);
       ViewData["msg"] = paraDatas;
       return View();
}

在前端页面添加一个P标签,用来输出URL参数的值:

<p style="color:blue;font-weight:bold">2、通过RouteData获取URL的值:@ViewData["msg"]</p>

运行结果:

3、使用action参数

public ActionResult Index(string controller, string action, int id)
{ }

注意:Action方法的参数和路由字典的参数是对应的,mvc框架在执行action方法前会首先为这些参数赋值。

案例演示

action方法代码如下:

public ActionResult Index(string controller, string action, int id)
{
      // 获取路由数据
      string paraDatas = string.Format("controller={0} action={1} id={2}", controller, action, id);
      ViewData["msg"] = paraDatas;
      return View();
}

注意:这时候需要修改路由注册,给id一个默认值,或者和第一种方式里面一样先判断id的值是否为null。否则会报下面的错误:

在这里给id一个默认值2

using System;
using System.Collections.Generic;
using System.Linq;
using System.WEB;
using System.Web.Mvc;
using System.Web.Routing;

namespace MVCUrlPara
{
    public class RouteConfig
    {
        public static void ReGISterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = 2 } //给id默认值2
            );
        }
    }
}

运行结果

示例代码下载地址:点此下载

到此这篇关于asp.net MVC从控制器中获取URL值的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: ASP.NET MVC从控制器中获取URL值

本文链接: https://lsjlt.com/news/141730.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • ASP.NET MVC从控制器中获取URL值
    从控制器中获取URL的值有三种方式: 1、使用Request.QueryString[] 例如: string value = Request.QueryString["BookId...
    99+
    2024-04-02
  • ASP.Net Core MVC中获取配置信息
    这篇文章主要为大家展示了“ASP.Net Core MVC中获取配置信息”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“ASP.Net Core MVC中获...
    99+
    2023-06-29
  • java中如何获取url中的值
    在Java中,可以使用java.net.URL类来获取URL中的值。以下是一个简单的示例代码: import java.net.UR...
    99+
    2024-04-09
    java
  • php后台控制器无法获取值
    在使用PHP编写后台控制器时,有时会出现控制器无法正确获取值的问题。这通常会导致程序无法正常运行,给开发带来很大的困扰。那么,出现这种问题的原因是什么?该如何解决呢?下面就来详细讲解。表单中name属性不正确在HTML表单中,我们需要给每个...
    99+
    2023-05-24
  • ASP.NET MVC 3中如何理解控制器与视图
    本篇文章给大家分享的是有关ASP.NET MVC 3中如何理解控制器与视图,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。I:控制器和视图的基础概念控制器的概念控制器在ASP.N...
    99+
    2023-06-17
  • 在 PHP 中从 URL 获取 JSON 对象
    本文介绍如何在 PHP 中从 URL 获取 JSON 对象。 使用 file_get_contents() 函数从 PHP 中的 URL 获取 JSON 对象 我们可以使用 file_get_...
    99+
    2024-02-27
  • ASP.NET Core MVC控制器请求依赖注入
    ASP.NET Core MVC 控制器应通过构造函数明确地请求它们地依赖关系,在某些情况下,单个控制器地操作可能需要一个服务,在控制器级别上的请求可能没有意义。在这种情况下,也可以...
    99+
    2024-04-02
  • php中如何从URL中获取参数
    从 php 中的 url 中获取参数可使用 $_get 超全局变量:确定请求方法为 get。使用 $_get 数组访问参数:键为参数名,值是参数值。 如何从 PHP 中的 URL 中获...
    99+
    2024-04-29
  • java怎么获取url中的参数值
    在Java中,可以使用`java.net.URL`类来获取URL中的参数值。下面是一个示例代码: import java.net.U...
    99+
    2023-10-25
    java
  • java如何获取url中的参数值
    在Java中获取URL中的参数值可以使用`java.net.URLDecoder`类的`decode`方法来解码URL中的参数。具体...
    99+
    2023-08-08
    java
  • asp.net中怎么用Request.Form获取表单的值
    在ASP.NET中,可以使用Request.Form对象来获取表单的值。 首先,确保页面上有一个包含所需表单字段的表单。例如,如果有...
    99+
    2024-02-29
    asp.net
  • ASP.NET Core MVC创建控制器与依赖注入讲解
    默认的IControllerActivator 在 ASP.NET Core 中,当 MVC 中间件接收到请求时,通过路由选择要执行的控制器和操作方法。为了实际的执行操作, MVC ...
    99+
    2024-04-02
  • ASP.NET Core MVC如何创建控制器与依赖注入
    这篇文章主要介绍“ASP.NET Core MVC如何创建控制器与依赖注入”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“ASP.NET Core MVC如何创...
    99+
    2023-06-29
  • 怎么在asp.net项目中获取html标签的值
    今天就跟大家聊聊有关怎么在asp.net项目中获取html标签的值,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。html有什么特点1、简易性:超级文本标记语言版本升级采用超集方式,从...
    99+
    2023-06-06
  • js如何从数组中获取随机值
    小编给大家分享一下js如何从数组中获取随机值,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!从数组中获取随机值有时我们需要从数组中随机选择一个值。一种方便的方法是可...
    99+
    2023-06-27
  • linux怎么从变量中获取最小值
    在Linux中,可以使用以下方法从变量中获取最小值:1. 使用sort命令:```min_value=$(echo "$variab...
    99+
    2023-08-23
    linux
  • 如何在 PHP 中从一个 URL 字符串中获取参数
    本文将介绍在 PHP 中从 URL 字符串中获取参数的方法。 使用 parse_url() 函数 使用 parse_str() 函数。 使用 $_GET 变量 在 PHP...
    99+
    2024-02-27
  • JavaScript如何从数组中获取最大值和最小值
    小编给大家分享一下JavaScript如何从数组中获取最大值和最小值,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!从数组中获取最...
    99+
    2024-04-02
  • js如何从数组中获取惟一的值
    这篇文章主要为大家展示了“js如何从数组中获取惟一的值”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“js如何从数组中获取惟一的值”这篇文章吧。从数组中获取惟一的值要从数组中获得唯一的值,需要使用...
    99+
    2023-06-27
  • 如何在拦截器中获取url路径里面@PathVariable的参数值
    目录在拦截器中获取url路径里@PathVariable参数值解决办法示例接口完整示例spring @PathVariable:请求路径url 上有变量值,通过@PathVariab...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作