I am trying to remove parameters from URL to make user friendly URL and to optimize URL for Search Engine optimization.
I have written below code in startup.cs
routes.MapRoute(
name: "edit-project-route",
template: "manage-your-project/{id?}",
defaults: new { controller = "Manager", action = "EditProject"
});
Edit Button is there in detail page as shown below:
Here is code of above page:
@foreach (var item in Model)
{
count = count + 1;
<tr>
<td scope="row">@count</td>
<td>@Html.DisplayFor(modelItem => item.Name)</td>
<td>@Html.DisplayFor(modelItem => item.Technology)</td>
<td>
<a href="/manage-your-project/@item.ProjectId" class="btn btn-sm btn-primary">Edit</a>
<a href="@Url.Action("DeleteProject",new { id=item.ProjectId})" class="btn btn-sm btn-danger">Delete</a>
</td>
</tr>
}
Whenever I click on edit button, Below page is displayed in browser.
I want to remove highlighted ID from query string. Is there any way to achieve this by not affecting functionalities.


2from url, how does it make user friendly?<form>with POST, but that goes against all modern ways of working and has its own disadvantages, or (ii) set a cookie and then read in on the server, but what cookie value is being used if the user has two tabs open that should have different IDs? So again: no.