C# 如何在asp.net核心mvc中将列表对象转换为Viewmodel对象?

C# 如何在asp.net核心mvc中将列表对象转换为Viewmodel对象?,c#,asp.net-mvc,asp.net-core,model-view-controller,C#,Asp.net Mvc,Asp.net Core,Model View Controller,我正在使用C jquery ajax json处理.netcore asp.net项目。我有一个列表对象,其中包含名称、部门和员工列表。有没有办法将列表转换为ViewModel对象 Emp_名称_分配控制器.cs as运算符检查参数是指定类型还是从该类型派生,如果是,则返回对该类型的类型化引用。否则返回null。您从中进行强制转换的类型永远不会是UserRoleViewModel或任何as将识别为从中进行强制转换的类型,因此您将得到一个空数组,原始JSON数据中的每个属性对应一个空数组 正确的处

我正在使用C jquery ajax json处理.netcore asp.net项目。我有一个列表对象,其中包含名称、部门和员工列表。有没有办法将列表转换为ViewModel对象

Emp_名称_分配控制器.cs

as运算符检查参数是指定类型还是从该类型派生,如果是,则返回对该类型的类型化引用。否则返回null。您从中进行强制转换的类型永远不会是UserRoleViewModel或任何as将识别为从中进行强制转换的类型,因此您将得到一个空数组,原始JSON数据中的每个属性对应一个空数组

正确的处理方法是直接反序列化到对象类型。如果JSON的格式不正确,您可以使用中间类型进行反序列化,然后根据该类型构造UserRoleViewModel

既然你还没有为你的模型提供任何细节,我就编一些东西

假设您有一个如下所示的模型:

class UserRoleViewModel
{
    public int UserID { get; set; }
    public string UserName { get; set; }
    public int RoleID { get; set; }
    public string RoleName { get; set; }
}
在表单上,您有用户和角色的下拉列表,表单数据将只包括这两个的ID:

var rawJSON = "{\"UserID\":42,\"RoleID\":1}";
可以直接将其转换为视图模型的实例:

var model = JsonConvert.DeserializeObject<UserRoleViewModel>(rawJSON);

您可以反序列化到模型,选中此项:。。。。然后可以选择并创建ViewModel。。。或者使用Automapper将对象映射到您的ViewModel,您可以发布Emp_des_ViewModel吗?
var model = JsonConvert.DeserializeObject<UserRoleViewModel>(rawJSON);
var models = JsonConvert.DeserializeObject<List<UserRoleViewModel>>(rawJSON);