A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/aspnet/Mvc/issues/4599 below:

FromRoute parameters aren't URL Decoded. · Issue #4599 · aspnet/Mvc · GitHub

[HttpGet]
[Route("")]
public async Task<IActionResult> GetValue([FromQuery(Name = "value")] String value) { ... }

[HttpGet]
[Route("{value}")]
public async Task<IActionResult> GetValue([FromRoute(Name = "value")] String value) { ... }

In the first example, a URL encoded string passed as the value query string parameter will be decoded before being passed into the GetValue function.

In the second example, a URL encoded string passed as a route segment will NOT be URL decoded before being passed to the GetValue function.

This behavior is unexpected, I would expect both Route and Query parameters to be URL decoded before being passed to the function.

If this is expected behavior, is there a workaround or a way to tell the route to decode before passing the parameter through? The problem is made more complex in my real world example because the route parameter is a URL and I want the parameter to be a Uri rather than a String. My current solution is to accept a String parameter and then construct a new Uri(value) out of it. However, this means I don't benefit from ModelState validation since the only a string is necessary to have the model state be valid.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4