C# 使用参数加载不同的视图

C# 使用参数加载不同的视图,c#,asp.net-mvc-4,visual-studio-2012,parameter-passing,asp.net-mvc-views,C#,Asp.net Mvc 4,Visual Studio 2012,Parameter Passing,Asp.net Mvc Views,我正在开发一个MVC4C应用程序,正在寻找一个关于如何从同一个控制器的函数中加载一个参数的不同视图的答案 这是我的密码: [HttpPost] [ValidateAntiForgeryToken] public ActionResult Create(int id, Room room) { if (ModelState.IsValid) { House houseToAddRoomsTo = db.Houses.Where(h => h.id == id)

我正在开发一个MVC4C应用程序,正在寻找一个关于如何从同一个控制器的函数中加载一个参数的不同视图的答案

这是我的密码:

[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:parameters字典包含方法'System.Web.Mvc.ActionResult IndexInt32'的不可为空类型'System.Int32'的参数'id'的空条目

我正在尝试的代码位于第行:

return View("Index", id);
我能帮点忙吗

提前感谢

返回RedirectToActionIndex,new{id=yourId};是您所需要的