Un-setting route parameters in razorpages pages

75 views Asked by At

I have a page Index that has two optional parameters: FolderId and OrganisationId.

If I use @page "{OrganisationId:int?}/{FolderId:int?}" at the start of the razorpages page to make nicer URLs then it becomes impossible to remove a parameter from the URL. The behaviour of the URL helpers changes.

For example the browser is at /Index/1/4 and I want to make a link to /Index/1. The code for the link ought to be

<a asp-area="Files" asp-page="/Index" asp-route-OrganisationId="@Model.Organisation.Id">@Model.Organisation.Name</a>

This works for @page, producing the required /Index/.

However, if the razorpages page begins with @page "{OrganisationId:int?}/{FolderId:int?}" then instead this renders /Index/1/4 which is clearly wrong because it is not what was asked for.

I have tried asp-route-FolderId="" and using asp-route-all-data but the unwanted parameter still appears.

Is it possible to get URL helpers to work correctly with the route templates?

0

There are 0 answers