Обходное решение MVC 5.0.
Многие из предложенных ответов, похоже, не работают в MVC 5.0.
Поскольку проблема 404 точек в последнем разделе может быть решена путем закрытия
Сохраняя удобное место в вашем представлении:
@Html.ActionLink("Change your Town", "Manage", "GeoData", new { id = User.Identity.Name }, null)
добавьте немного jquery / javascript для выполнения задания:
<script>
$('a:contains("Change your Town")').on("click", function (event) {
event.preventDefault();
window.location.href = '@Url.Action("Manage", "GeoData", new { id = User.Identity.Name })' + "/";
});</script>
обратите внимание на конечную косую черту, которая отвечает за изменение
http://localhost:51003/GeoData/Manage/user@foo.com
на
http://localhost:51003/GeoData/Manage/user@foo.com/
Потому что дизайнеры не решили его поддерживать. Это действительно будет действительно (насколько я вижу), но все существующие умные приведения применяются только к проверенному значению. Так что, вероятно, было бы нетривиально добавить, и как часто это будет использоваться?
Этот вид уточнения типов поддерживается обобщенными алгебраическими типами данных , которые поддерживаются в Haskell и OCaml (и в некоторой степени в Scala), но их система типов и вывод типов весьма отличаются Котлин.