Справочная информация
Это продолжение вопроса , который я задал около asp. net core v3.1.
Я добавил следующее к автозагрузке, как было предложено в решении здесь , что позволило мне перенаправить на страницу бритвы обоими способами:
services.AddMvc()
.AddRazorPagesOptions(options =>
options.Conventions.AddAreaPageRoute("Identity", "/account/signupandapply", "/identity/account/signup")
);
/identity/account/signup
/identity/account/signupandapply/<fooapplyid>
Issue
Я пытаюсь использовать помощник тега привязки для соблюдения пути маршрута /identity/account/signupandapply/<fooapplyid>
. Href показывает использование параметра вместо /identity/account/signupandapply?fooapplyid=<fooapplyid>
. Это моя разметка помощника тега:
<a asp-area="identity" asp-page="/account/signupandapply" asp-route-fooapplyid="@Model.FooApplyId">Apply here</a>
В настоящее время я вручную устанавливаю href, но хотел бы знать, как заставить это работать, используя помощник тега.
<a href="/identity/account/signupandapply/@Model.FooApplyId">Apply here</a>
Примечание: Разметка привязки добавляется к виду за пределами области идентификации.
Попытка
Я пытался добавить ниже, который показывает HREF, как я хочу. Т.е. /identity/account/signupandapply/<fooapplyid>
.AddAreaPageRoute("Identity", "/account/signupandapply", "/identity/account/signupandapply/{applyid}")
Но тогда я получаю ошибку, когда я go на странице, что имеет смысл
AmbiguousMatchException: The request matched multiple endpoints. Matches: /Account/SignUpAndApply /Account/SignUpAndApply
Ни одна из этих работ, href по-прежнему показывает как ? applyid =:
.AddAreaPageRoute("Identity", "/account/signupandapply?applyid=", "/identity/account/signupandapply/{applyid}")
.AddAreaPageRoute("Identity", "/account/signupandapply/{applyid?}", "/identity/account/signupandapply/{applyid}")
Вопрос
Существует ли дополнительный маршрут запуска, который необходимо определить, или как я могу получить помощник тега привязки для соблюдения маршрута?