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); 
} 

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

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: словарь параметров содержит нулевую запись для параметра «id» типа, не имеющего значения NULL «System.Int32» для метода Sys tem.Web.Mvc.ActionResult Index (Int32)»

код Я пытаюсь это в строке:

return View("Index", id); 

Могу ли я пожалуйста иметь некоторую помощь с этим?

Заранее спасибо

ответ

0

return RedirectToAction("Index", new{id=yourId}); является то, что вам нужно.

Смежные вопросы