2012-03-20 4 views
0

.Net MVC를 배우고 직원 목록이 있습니다. 이제 새로운 직원을 만들거나 기존 직원을 편집 할 수있는보기 "CreateEdit"에 연결하고 싶습니다..net mvc 3 : CreateEdit보기가 작동하지 않습니다.

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를 내가 클릭하는 경우에도, 항상 null입니다 :

@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> 
내가 링크를 처리하기 위해 내 컨트롤러의 방법이 링크 "편집".

답변

0

링크를 만들면 id이라는 ID를 전달합니다. 그러면 'employeeId'라는 ID 이름이 표시됩니다. 동일해야합니다.

0

여기에서 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

첫 번째 방법은 작동하지 않습니다. "매개 변수 사전에 nullable 형식의 'id'매개 변수에 대한 null 항목이 포함되어 있습니다. 'System.Windows.Int32'형식의 System.Web.Mvc.ActionResult CreateEdit Int32) ' ""New Employee "링크를 사용할 때 – AGuyCalledGerald

+0

작동해야하지만 내 코드 에서처럼 입력 매개 변수를 변경해야합니다. 그들은 정확히 동일해야합니다. –

관련 문제