При нажатии на HTML.ActionLink значение сетки MVCContrib всегда равно нулю. - PullRequest
0 голосов
/ 27 марта 2012

Я пытаюсь реализовать простую функцию просмотра списка / подробного просмотра в одном из наших приложений. Я использую MVCContrib Grid (кстати, это здорово!), Чтобы показать список элементов. Рядом с каждой строкой сетки есть ссылка для редактирования, которая позволяет пользователю редактировать элемент. Когда пользователи нажимают на ссылку «Изменить», я выполняю команду «Получить», которая возвращает форму сведений, использованную для редактирования элемента. По какой-то причине я не могу получить отправленный на контроллер идентификатор клиента. Контроллер просто обнуляется каждый раз, когда я нажимаю на ссылку редактирования.

Моя сетка настроена так:

  Html.Grid(Model.CheckAccounts)
    .Columns(column.For(c => {Html.ActionLink(
    "Edit", 
    "CustomerDetails", 
    "CustomerManagementController", 
    new {Id=customer.Id}));
column.For(c => c.Name);
column.For(a => c.AccountNumber);
}).Render();

Вот мой контроллер Действие:

  [HttpGet]
        public ActionResult CustomerDetails(long? Id )
        {
            //fetch the customer from repo...
            //return it to the client
            return View(model);
        }

Я совершенно сбит с толку, так как все образцы и блоги, которые я видел, получают доступ к данным из сетки так же, как я это делаю. Может кто-нибудь помочь?

1 Ответ

0 голосов
/ 28 марта 2012

Я не хочу отвечать на свой вопрос, но мне удалось это исправить, изменив ссылку на действие на:

{Html.ActionLink(
        "Edit", 
        "CustomerDetails", 
        "CustomerManagement", 
        new {Id=customer.Id}));

Я понял, что ссылка неправильного действия генерировалась после просмотра параметра queryString «? Length = 24» в конце URL-адреса.

Сетка теперь работает как положено.

...