0

MVC 4 C# 응용 프로그램을 개발 중이며 같은 컨트롤러에있는 함수에서 다른 뷰를로드하는 방법에 대한 답을 얻은 후입니다. 나는 다음과 같은 색인 메서드를 호출 걸려매개 변수가있는 다른 뷰로드하기

[HttpPost] 
[ValidateAntiForgeryToken] 
public ActionResult Create(int id, Room room) 
{ 
    if (ModelState.IsValid) 
    { 
     House houseToAddRoomsTo = db.Houses.Where(h => h.id == id).FirstOrDefault(); 
     houseToAddRoomsTo.Rooms.Add(room); 
     db.SaveChanges(); 
     return View("Index", id); 
    } 

    return View(room); 
} 

, 매개 변수로 id가 : 여기

내 코드는 다음

public ActionResult Index(int id) 
{ 
    RoomsViewModel roomsViewModel = new RoomsViewModel(); 
    roomsViewModel.HouseID = id; 
    roomsViewModel.Rooms = db.Houses.Where(h => h.id == id).First().Rooms.ToList(); 
    return View(roomsViewModel); 
} 

나는 점점 오전 오류입니다 :

[ArgumentException : 매개 변수 사전에는 'Sys'메서드에 대해 nullable이 아닌 'System.Int32'형식의 매개 변수 'id'에 대한 null 항목이 들어 있습니다 tem.Web.Mvc.ActionResult 지수 (INT32) '

내가 노력하고 코드 라인에 있습니다 :

return View("Index", id); 

내가이 일부 도움을 주시겠습니까?

미리 감사드립니다.

답변

0

return RedirectToAction("Index", new{id=yourId});이 필요합니다.

관련 문제