点网核心中具有多个参数的路由

时间:2019-12-07 15:07:30

标签: c# .net-core asp.net-core-routing

请让我知道确切的方法,以确保在URL中发送正确的参数,以便在点网核心中正确导航。

    [HttpGet("{id},{id2}",Name ="Edit")]
    [AllowAnonymous]
    public ActionResult Edit(int id, int id2)
    {
        return Ok(3);
    }

    [HttpGet("{id}")]
    public string Get(int id)
    {
        return "value";
    }

当我尝试导航到以下网址时:

/api/test/Edit?id=1&id2=4

它导航到其他方法Get并以字符串形式返回值。

Startup.cs文件具有以下内容

app.UseMvcWithDefaultRoute();

2 个答案:

答案 0 :(得分:0)

确保将正确的路由模板应用于操作

[Route("api/[controller]")]
public class TestController: Controller {

    //GET api/test/edit?id=1&id2=4
    [HttpGet("Edit")]
    [AllowAnonymous]
    public ActionResult Edit(int id, int id2) {
        //...

        return Ok(3);
    }

    //GET api/test/5
    [HttpGet("{id}")]
    public string Get(int id) {
        return "value";
    }
}

参考Routing to controller actions in ASP.NET Core

答案 1 :(得分:0)

.Net Core 3.1.3

在Startup.Configure方法中:

var dataString = dataset.data[index].toString()+\' % \';

控制器注释:app.UseEndpoints(endpoints => { endpoints.MapControllers(); });

操作方法注释:[Route("[controller]/[action]")]

来自邮递员:[HttpGet("{param1:int}/{param2:int}")]

希望这会有所帮助!