Url.Action без параметра добавляет его, если страница посещается по другой ссылке, имеющей параметр.C#

Место общения программистов C#
Anonymous
Url.Action без параметра добавляет его, если страница посещается по другой ссылке, имеющей параметр.

Сообщение Anonymous »

У меня есть меню, из которого я устанавливаю ссылку на страницу без параметров:

Код: Выделить всё

[url=@Url.Action(]My schedule[/url]
На другой странице у меня есть список элементов со ссылками, которые предоставляют идентификатор:

Код: Выделить всё

[url=@Url.Action(]Smith's schedule[/url]
[url=@Url.Action(]Doe's schedule[/url]
Как только я захожу в расписание Смита и отправляю ответную публикацию, чтобы сохранить его данные, к моей ссылке в меню автоматически добавляется цифра 2 и она становится Мое расписание< /a>
Вот мое отображение маршрута:

Код: Выделить всё

app.MapControllerRoute(
name: "days-off-schedule",
pattern: $"DaysOff/DaysOffSchedule/{{personnelId}}", // with or without ? doesn't affect the behaviour
defaults: new {controller = "DaysOff", action = "DaysOffSchedule" });
app.MapControllerRoute(
name: "default",
pattern: $"{{controller=Home}}/{{action=Login}}/{{id?}}");
Вот пример контроллера:

Код: Выделить всё

public class DaysOffController : Controller
{
public IActionResult DaysOffSchedule(int? personnelId)
{
return View(nameof(DaysOffSchedule), new SingleStringModel($"Hello {personnelId}"));
}

[HttpPost]
public IActionResult DaysOffSchedule(SingleStringModel model)
{
ModelState.Clear();
model.Text = $"{model.Text}. OK";
return View(nameof(DaysOffSchedule), model);
}
}
Почему asp добавляет к ссылке последний использованный параметр, хотя я его не предоставляю? Проблема явно в маршруте "выходные дни", но что я делаю не так?


Подробнее здесь: https://stackoverflow.com/questions/782 ... nother-lin

Вернуться в «C#»