/ 将在 url 中传递的参数

问题描述 投票:0回答:1

当我传递包含

/
的参数时,我遇到问题;该 url 将假定为单独的路由,最终请求失败。

例如 - 这是我的端点:

http://domainname/ErpProductCount/{StockName}  

网址将是

http://domainname/ErpProductCount/DIN-SMS-60/90SP 

这里,

DIN-SMS-60/90SP
是股票名称,但url将其视为单独的路径。

我尝试使用

EscapeDataString
方法:

var encodedStockName = Uri.EscapeDataString(StockName);

但是没用。

顺便说一句,我正在一个 C# 项目中工作。

c# asp.net-core url query-string urlencode
1个回答
0
投票

在 asp.net core 中,您可以使用

*StockName
作为控制器方法的路由约束。

{*stockName} 模式告诉路由将 ErpProductCount/ 之后的所有内容视为 stockName 的一部分,包括任何斜杠。

试试这个代码:

    [HttpGet("ErpProductCount/{*StockName}")]
    public IActionResult TestView(string StockName) {


        return View();  
    }

结果:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.