【发布时间】:2021-11-02 10:49:41
【问题描述】:
这是我的复杂类
namespace EnergaticWebApp.Models
{
public class MyModel
{
public string MyString { get; set; }
public int MyInt { get; set; }
public bool MyBoolean { get; set; }
public decimal MyDecimal { get; set; }
public DateTime MyDateTime1 { get; set; }
public DateTime MyDateTime2 { get; set; }
public List<string> MyStringList { get; set; }
public Dictionary<string, Person> MyDictionary { get; set; }
public MyModel MyAnotherModel { get; set; }
}
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
}
}
这是我想要显示复杂类数据的操作方法
public IActionResult Privacy()
{
var options = new JsonSerializerOptions
{
PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
WriteIndented = true
};
var folderDetails = Path.Combine(Directory.GetCurrentDirectory(), $"wwwroot\
{"json\\my-model.json"}");
var jsonString = System.IO.File.ReadAllText(folderDetails);
// var jsonString = File.ReadAllText("my-model.json");
var jsonModel = JsonSerializer.Deserialize<MyModel>(jsonString, options);
var modelJson = JsonSerializer.Serialize(jsonModel, options); //not in use
return View(jsonModel);
}
}
一切正常,除了当我在视图中返回我的 jsonModel 时出现错误:
InvalidOperationException:传递到 ViewDataDictionary 的模型项的类型为“EnergaticWebApp.Models.MyModel”,但此 ViewDataDictionary 实例需要“System.Collections.Generic.List`1[EnergaticWebApp.Models.MyModel] 类型的模型项'
关于如何做到这一点的任何建议?
【问题讨论】:
-
请也发表您的看法
-
能否添加my-model.json的内容
-
处理您的问题的方法太多了。你可以查看我的详细回答。希望它能帮到你很多。
-
嗨@Asad Malikz,我的回答是否帮助您解决了您的问题?如果是这样,你能接受作为答案吗?如果没有,你能跟进让我知道吗?参考:How to accept as answer。谢谢。
标签: asp.net-core-mvc