Я получаю это неожиданное поведение от ядра asp.net, которое я начинаю изучать.
В моем представлении есть форма ниже:
<form asp-controller="Account" asp-action="Login" method="post">
<button type="submit">LOGIN</button>
</form>
Да, я использую здесь помощники тегов. А вот и контроллер:
public class AccountController : Controller
{
[HttpPost]
[AllowAnonymous]
public async Task<IActionResult> Login(string returnUrl)
{
if (string.IsNullOrEmpty(returnUrl) || !Url.IsLocalUrl(returnUrl))
return RedirectToAction("index", "home");
else
return LocalRedirect(returnUrl);
}
}
Теперь, насколько я понимаю, returnUrl должен автоматически получать значение строки запроса, если оно есть в строке запроса. Но с такой настройкой этого не происходит. После того, как я долго почесал голову, я нашел в Интернете решение, которое, на мой взгляд, изменило:
<form method="post">
<button type="submit">LOGIN</button>
</form>
а потом начинает работать. Но почему там такое поведение, что вызывает это, почему помощники тегов формы не позволяют привязать строку запроса для этой формы метода публикации ???