.net MVC 3: представление CreateEdit не работает - PullRequest
0 голосов
/ 20 марта 2012

Я изучаю .Net MVC и у меня есть список сотрудников.Теперь я хочу связать с представлением «CreateEdit», где я могу создавать новых сотрудников или редактировать существующих.

@model IEnumerable<MvcTest1.Domain.Model.Employee>

<html>

<head>
<title>EmployeeView</title>
</head>

<body>
<p>
    @Html.ActionLink("New Employee", "CreateEdit")
</p>
<table>

@foreach (var item in Model) {
    <tr>
        <td>
            @Html.ActionLink("Edit", "CreateEdit", new { id = item.Id })
        </td>
    </tr>
}

</table>

У меня естьМетод в моем контроллере для обработки ссылок:

public ActionResult CreateEdit(int? employeeId)
{
     if (employeeId is Int32)
     {
            int id = (Int32)employeeId;
            Employee e = er.GetById(id);
            return View(e);
     }

     else return View();

}

Но employeeId всегда равен нулю, даже если я нажимаю на ссылку «Изменить».

Ответы [ 2 ]

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

Вы можете сделать 1 из 2 вещей здесь.Оставьте код метода помощника таким, как он есть:

@Html.ActionLink("Edit", "CreateEdit", new { id = item.Id })

.., а затем измените метод действия так, чтобы он выглядел следующим образом:

public ActionResult CreateEdit(int id)
{
     // Do what needs to be done
}

Или оставьте метод действия следующим:

public ActionResult CreateEdit(int? employeeId)
{
     // Do what needs to be done
}

.. и затем измените код вашего помощника на:

@Html.ActionLink("Edit", "CreateEdit", new { employeeId = item.Id })

Надеюсь, это поможет прояснить ситуацию.

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

Когда вы создаете ссылку, вы передаете идентификатор как id.Тогда, по вашему мнению, у вас есть имя идентификатора как employeeId.Они должны быть одинаковыми.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...