Asp.net 如何将值传递给视图模型

Asp.net 如何将值传递给视图模型,asp.net,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-4,Asp.net,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 4,我有一个2视图模型,FacilityRoomViewModel和NewRoomViewModel,如何在控制器中通过服务将值从FacilityRoomViewModel传递给NewRoomViewModel 这是我的观点模型 namespace XNet.WebUI.Hotel.ViewModel { public class FacilityInRoomViewModel { public int RoomFacilityID { get; set; }

我有一个2视图模型,FacilityRoomViewModel和NewRoomViewModel,如何在控制器中通过服务将值从FacilityRoomViewModel传递给NewRoomViewModel

这是我的观点模型

namespace XNet.WebUI.Hotel.ViewModel
{
    public class FacilityInRoomViewModel
    {
        public int RoomFacilityID { get; set; }
        public string RoomFacilityName { get; set; }
        public bool RoomFacilityAvailable { get; set; }
    }
    public class ListFacilityInRoom
    {
        public List<FacilityInRoomViewModel> listRoomFacility { get; set; }
    }
}


namespace XNet.WebUI.Hotel.ViewModel
{
    public class NewRoomViewModel
    {
        public int HotelID { get; set; }

        [Required(ErrorMessage = "*")]
        public string RoomTypeName { get; set; }

        [Required(ErrorMessage = "*")]
        public string RoomTypeDescription { get; set; }

        public List<FacilityInRoomViewModel> facilityinRoom { get; set; }
    }

}

查看您拥有的功能,就像您试图将FacilityInRoomViewModel传递给

public static NewRoomViewModel Build2(List<FacilityInRoomViewModel> list)
    {
        NewRoomViewModel model = new NewRoomViewModel();
        model.facilityinRoom = list;

        return model;
    }

嗨,novian,我会稍微重命名变量,以使示例代码更清晰。例如,var showNewRoomViewModel不是您提到的两个ViewModel之一。另外,传入View()方法的模型应该是ViewModel。你能给我举个例子吗??请注意,我没有真正了解您的问题我有两个viewmodel,我想从控制器将值从一个viewmodel传递到另一个viewmodel。我无法从控制器将值传递到build2。当我将值从facilitiesInRoom传递到NewRoom时,无法将newRoomViewModel转换为ListFacilityInRoom
public List<RoomFacility> showNewRooms()
        {
            List<RoomFacility> showNewRoomViewModel = _RoomFacilityRepository.AsQueryable().ToList();
                return showNewRoomViewModel;
        }
    public ActionResult NewRoom()
            {
                var showNewRoomViewModel = _RoomTypeService.showNewRooms();
                ListFacilityInRoom model = FacilityInRoomBuilder.Build(showNewRoomViewModel);
return View(model);

            }
public static NewRoomViewModel Build2(List<FacilityInRoomViewModel> list)
    {
        NewRoomViewModel model = new NewRoomViewModel();
        model.facilityinRoom = list;

        return model;
    }
 public ActionResult NewRoom()
 {
     var showNewRoomViewModel = RoomTypeService.showNewRooms();
     ListFacilityInRoom model = FacilityInRoomBuilder.Build(showNewRoomViewModel);
     var newroomviewmodel=FacilityInRoomBuilder.Build2(showNewRoomViewModel.listRoomFacility);
     return View(newroomviewmodel);
  }