c# - 无法加载文件或程序集“System.Web.Extensions,版本=4.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35”
问题描述
我正在尝试开发一个 Web 应用程序,该应用程序根据存储在数据库中的不同数据显示一些图表。我在网上的不同教程中发现,我应该使用模型将数据从控制器传输到视图,然后使用 Json.Encode 让我的图表正确读取数据。首先它无法识别 Json.Encode 方法,所以我不得不使用 NuGet Packet Manager 安装 Microsoft.AspNet.WebPages,当我尝试运行该应用程序时,会弹出此错误。
我正在使用 .NET Core 5.0
这是错误出现的地方:
<script type="text/javascript">
var chart = document.getElementById('pie').getContext('2d');
var myChart = new Chart(chart, {
type: 'pie',
data : @Html.Raw(System.Web.Helpers.Json.Encode(Model.PieChartData)),
});
</script>
这就是我构建提供给视图的模型的方式:
public PieChartVM GetPieChartData()
{
var model = new PieChartVM();
var labels = new List<string>();
labels.Add("Green");
labels.Add("Blue");
labels.Add("Gray");
labels.Add("Purple");
model.labels = labels;
var dataset = new List<PieChartChildVM>();
var childModel = new PieChartChildVM();
var backgroundColorList = new List<string>();
var dataList = new List<int>();
foreach(var label in labels)
{
if (label == "Green")
{
backgroundColorList.Add("#2ecc71");
dataList.Add(12);
}
if (label == "Blue")
{
backgroundColorList.Add("#3498db");
dataList.Add(20);
}
if (label == "Gray")
{
backgroundColorList.Add("#95a5a6");
dataList.Add(18);
}
if (label == "Purple")
{
backgroundColorList.Add("#9b59b6");
dataList.Add(50);
}
}
childModel.backgroundColor = backgroundColorList;
childModel.data = dataList;
dataset.Add(childModel);
model.datasets = dataset;
return model;
}
解决方案
你有没有试过这个:
using System.Text.Json.Serialization;
string jsonString = JsonSerializer.Serialize(yourModel);
或者
var serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
serializer.MaxJsonLength = Int32.MaxValue;
var jsonModel = serializer.Serialize(YOURMODEL);
推荐阅读
- sql - VB6 ADODB.Recordset Record.Count 不起作用/EOF 和 BOF 不可用
- python - 以 ftp 活动模式列出文件
- javascript - 如何在 zingchart 的每个饼图中使用 svg 图标?
- python - Python:JSON 未读取“&”字符
- amazon-web-services - AWS Batch - 访问被拒绝 403
- java - iText:将现有 PDF 的颜色更改为灰度
- ios - iOS 模拟器无法加载 url
- go - 使用WaitGroup从不同的go例程阻塞当前变量写入堆栈变量是否安全?
- azure - YAML IIS web 部署部署组
- junit - Junit5 /Hamcrest 中是否有与 ScalaTest 的 withClue 等效的方法?