Вы должны посмотреть на сигнатуру метода, когда вы его используете.
Когда вы написали:
@Html.ActionLink("Edit", "EditProject", new { id = item.ProjectID})
вы использовали следующую перегрузку:
HtmlHelper.ActionLink (строка linkText, строка ActionName, объект
routeValues)
Так вот почему вы получаете ваш item.ProjectID как часть URL. В данном случае это значение маршрута.
Перегрузка, которую вы ищете, вероятно, такова:
HtmlHelper.ActionLink (строка linkText, строка ActionName, объект
routeValues, объект htmlAttributes)
Используя эту перегрузку, вы указываете, что хотите использовать переменную item.ProjectID как часть URL, а также атрибут ссылки:
@Html.ActionLink("Edit", "EditProject", new { id = item.ProjectID}, new { id = item.ProjectID })
Если вы действительно хотите прописать имя переменной, вы должны написать:
@Html.ActionLink("Edit", "EditProject", new { id = item.ProjectID}, new { id = @"Projectid" })
Это дает желаемый результат.