我刚刚开始学习Asp.net MVC5
。我的视图始终期望以一个类(RandomMovieViewModel
)作为模型,即使在创建新视图并将其明确声明为(CustomerMemeberViewModel
)之后,它仍然期望RandomMovieViewModel
。
我的两个viewmodels
是:
public class RandomMovieViewModel
{
public Movies Movie { get; set; }
public Customer Customers { get; set; }
public List<Customer> CustomersList { get; set; }
public List<Movies> MoviesList { get; set; }
}
public class CustomerMemberViewModel
{
public IEnumerable<MemberShipType> MembershipType { get; set; }
public Customer Customers { get; set; }
}
这是我的一个简单视图,即使删除并重新创建它后,它也无法正确viewmodel
:
@model VidlySecond.ViewModels.CustomerMemberViewModel
@{
ViewBag.Title = "New";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>New Customer c</h2>
以下是查看操作:
[Route("customer/new")]
public ActionResult New()
{
IEnumerable<MemberShipType> membershiptypes = _context.MembershipTypes.ToList();
CustomerMemberViewModel viewmodel = new CustomerMemberViewModel
{
MembershipType = membershiptypes
};
return View(viewmodel);
}
这是我的客户类别:
public class Customer
{
public int Id { get; set; }
[Required]
[StringLength(225)]
public string Name { get; set; }
public bool IsSubscribedTonewletter { get; set; }
[Required]
public MemberShipType MemberShipTypeOfCustomer { get; set; }
public byte MemberShipTypeId { get; set; }
[Display(Name="Date Of Birth")]
public DateTime? Birthdate { get; set; }
}
错误:
“ /”应用程序中的服务器错误。
说明:
在执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中起源的更多信息。
异常详细信息:
传递到词典中的模型项的类型为
'VidlySecond.ViewModels.CustomerMemberViewModel'
,但是此词典需要模型类型为'VidlySecond.ViewModels.RandomMovieViewModel'
的模型项
答案 0 :(得分:0)
假设您正在遵循Mosh Hamedani的练习,那么应该在_layout.cshtml
中添加一行。
@model Vidly.ViewModels.RandomMovieViewModel
您可以删除它,希望它能起作用。