Ваши автоматически сгенерированные ссылки говорят это:
<td><%= Html.ActionLink("Edit", "Edit", new { id= Model.EnvironmentID} )%></td>
, но код контроллера говорит это:
public ActionResult Edit(int envId)
Привязка модели MVC перехватывает параметры в действии по имени, имаршрут по умолчанию предполагает, что первым параметром будет int
, называемый id
.Измените имя параметра Edit()
на id
, и оно должно работать.
В качестве альтернативы вы можете изменить объект параметров ActionLink на new { envId = Model.EnvironmentID }
, но это приведет к тому, что ваши URL будут выглядеть так:
http://localhost/Env/Edit?envId = 1
вместо этого:
http://localhost/Env/Edit/1