C# ASP.NET核心的等效MVC代码是什么?
在我的MVC项目(不是核心项目)中,我成功地使用了这一点: Index.cshtml:C# ASP.NET核心的等效MVC代码是什么?,c#,asp.net-core,C#,Asp.net Core,在我的MVC项目(不是核心项目)中,我成功地使用了这一点: Index.cshtml: <script> @{ var ListVar = Model.TimeToolDataList; //TimeToolDataList (*it's an object list, ex: NAME = string, VALUE = int) var SerializedList = new JavaScriptSerializer().Serialize(ListVar);
<script>
@{
var ListVar = Model.TimeToolDataList;
//TimeToolDataList (*it's an object list, ex: NAME = string, VALUE = int)
var SerializedList = new JavaScriptSerializer().Serialize(ListVar);
}//razer code in the script tag ^ by the @{} wrapper
var SerializedListRefined = JSON.parse('"@SerializedList"');
var FinalList = JSON.parse(htmlDecode(SerializedListRefined));</script>
^在@下使用System.Text.Json代码>
运行时,浏览器上的控制台会给我一个“未捕获引用错误:未定义HtmlCode”错误
要正确地反序列化对象,您必须使用@HtmlRaw
,只要假设ListVar
是您的模型
/对象
(从c#控制器提交的对象)
您可以执行以下操作:
var jsoninJS=@Html.Raw(Json.Serialize(Listvar))代码>
这在var jsoninJS
中为您提供了可以用javascript打印的Console.log(jsoninJS)
对象
如果包括
@使用System.Web
您也可以使用C进行解码#
使用@HttpUtility.HtmlDecode(字符串)
但是,您应该在打印数据时解码/编码,而不是在其他任何地方。它“不会运行”是什么意思?是什么阻止你运行它?你有例外吗?请在您的问题中提供足够的详细信息,以便我们能够实际提供帮助。JavaScriptSerializer
永远不应用于Json序列化。这就是.NETCore甚至不包含此类的原因。根据您正在运行的.NET Core的版本,您应该使用Json.NET或System.Text.Json
stuffyes System.Text.Json帮助后端,如何进入最后一部分@maccettura@Adan你的问题中混合了Javascript和C#,但你没有以清晰的方式格式化它。“未捕获引用错误:未定义htmlDecode”错误是否为异常?浏览器中的控制台错误?你需要认真地编辑你的文章question@maccettura好的,我做了一些编辑,看起来怎么样?
var jsonStr = JsonSerializer.Serialize(ListVar);