ASP.NET MVC 中的路由传递参数

路由传递参数

ASP.NET MVC 根据传入URL调用不同的控制器类()以及他们中不同的操作方法

//在HellowordController中的代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MyPractice.Controllers
{
    public class HellowordController : Controller
    {
        // GET: Helloword
        public string Welcome(string name, int num = 1)
        {
            return HttpUtility.HtmlEncode("Hello " + name + ", Your number is: " + num);
        }
    }
}

设置路由格式

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",//分别对应传入URL中的控制器、方法名和参数
        defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
    );
}

可以将参数通过路由传递给控制器

在浏览器中输入URL:
http://localhost:xxx/Helloword/Welcome/1?name=Erin

呈现:
在这里插入图片描述
上面的name和num作为查询字符串传递,?是分隔符。
添加一个路由,将传入参数作为路由数据

            routes.MapRoute(
                name: "Hello",
                url: "{controller}/{action}/{name}/{id}"
                );

在浏览器中输入URL:
http://localhost:xxx/Helloword/Welcome/Erin/1
将呈现相同结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值