Изменить ссылку в MVC4 - невозможно получить значение в контроллере

Все, пытаюсь редактировать данные с помощью MVC4.

Когда я нажимаю ссылку «Изменить», я вижу, что имя параметра И значение добавляется в строку запроса, но в контроллере я не могу получить значение для выбранной строки.

Код контроллера

public ActionResult Edit(string id)
        {
          PhonebookModel PHm =   _phList.Find(x => x.ID == id);
            return View(PHm);
        }

Здесь, в контроллере, я получаю идентификатор как нулевой. Любая подсказка, что я делаю неправильно?

Примечание. Я вижу экран редактирования, но все элементы управления пусты.

Заранее спасибо. код cshtml, который генерирует ссылку на редактирование @model IEnumerable

@{ ViewBag.Title = "Индекс"; }

Показатель

@Html.ActionLink («Создать новый», «Создать»)

@Html.DisplayNameFor(model => model.FirstName) @Html.DisplayNameFor(model => model.Last Name) @foreach (var item in Model) { @Html.DisplayFor(modelItem => item.FirstName) @Html.DisplayFor(modelItem => item.LastName) @Html.ActionLink("Edit", "Edit", new { ID = item.ID}) | @Html.ActionLink("Details", "Details", new { ID = item.ID }) }

person Amit    schedule 05.03.2014    source источник
comment
Пожалуйста, опубликуйте вспомогательный код, генерирующий ссылку   -  person Jack    schedule 06.03.2014
comment
@Index.cshtml У меня есть следующий код, определяющий ссылку @Html.ActionLink(Edit, Edit, new {ID= item.ID}) |   -  person Amit    schedule 06.03.2014
comment
@Amit - там нет ссылки для редактирования. Или любая ссылка, которая передает идентификатор. Какой код генерирует ссылку на действие Edit?   -  person Simon C    schedule 06.03.2014
comment
@Jack- я добавил код, который генерирует ссылку «Редактировать».   -  person Amit    schedule 06.03.2014
comment
_phList.Find(x => x.ID == Request[ID]), и я могу получить значения... Это правильный способ получить значение, выбранное из пользовательского интерфейса для контроллера?   -  person Amit    schedule 06.03.2014


Ответы (1)


Я думаю, что параметр чувствителен к регистру, попробуйте изменить ActionLink на:

@Html.ActionLink("Edit", "Edit", new { id = item.ID})
person Jack    schedule 05.03.2014
comment
Да, именно так... Параметр чувствителен к регистру... теперь он работает... и еще одна вещь, которую я пробовал, т.е. получение значения с использованием опции Request[ParamName].. см. ниже public ActionResult Edit() { PhonebookModel m = _phList. Find(x =› x.ID == Request[id]); вернуть вид (м); } Это тоже допустимый способ? - person Amit; 06.03.2014
comment
Да, но зачем тебе это? MVC обрабатывает привязку за вас - person Jack; 06.03.2014
comment
Да, у меня тоже работает привязка после изменения регистра ... но я просто хотел узнать мнение о Request[id] . Спасибо. - person Amit; 07.03.2014