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

我试图在MVC中设置一个自定义路由,以从以下格式从另一个系统的URL:

../ABC/ABC01?Key=123\u0026amp;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将自动查询字符串参数映射到控制器中的方法中的参数。

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....