加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 如何在ASP.NET MVC中使用querystring路由URL?

发布时间:2020-12-15 19:09:38 所属栏目:asp.Net 来源:网络整理
导读:我试图在MVC中设置一个自定义路由,以从以下格式从另一个系统的URL: ../ABC/ABC01?Key=123u0026amp;Group=456 01之后的第二个ABC是一个步骤号,这将改变,键和组参数将改变。我需要将其路由到控制器中的一个操作,步骤号键和组作为参数。我试过下面的代码
我试图在MVC中设置一个自定义路由,以从以下格式从另一个系统的URL:

../ABC/ABC01?Key=123u0026amp;Group=456

01之后的第二个ABC是一个步骤号,这将改变,键和组参数将改变。我需要将其路由到控制器中的一个操作,步骤号键和组作为参数。我试过下面的代码,但它抛出一个异常:

码:

routes.MapRoute(
    "OpenCase","ABC/ABC{stepNo}?Key={key}&Group={group}",new {controller = "ABC1",action = "OpenCase"}
);

例外:

`The route URL cannot start with a '/' or '~' character and it cannot contain a '?' character.`

解决方法

您不能在路由中包括查询字符串。尝试这样的路线:
routes.MapRoute("OpenCase","ABC/ABC{stepNo}",new { controller = "ABC1",action = "OpenCase" });

然后,在你的控制器上添加一个这样的方法:

public class ABC1 : Controller
{
    public ActionResult OpenCase(string stepno,string key,string group)
    {
        // do stuff here
        return View();
    }        
}

ASP.NET MVC将自动将查询字符串参数映射到控制器中的方法中的参数。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读