我有一些C#类。我想转换为Json。但是当我通过
进行转换时@Html.Raw(Json.Encode(@Model))
我在javascript中收到错误
未捕获的SyntaxError:意外的标识符
我在Firebug中看到这个字符串:
[{"Id":102,"Date":"\/Date(1419454800000)\/","Value":286890,"ListOfMetaL_Id":3,"ListOfMetal":null}]";
任何想法? 序列化程序的类c#
public partial class PriceOfMetal
{
public int Id { get; set; }
public System.DateTime Date { get; set; }
public double Value { get; set; }
public int ListOfMetaL_Id { get; set; }
public virtual ListOfMetal ListOfMetal { get; set; }
}
控制器:
public ActionResult Graph()
{
int id = (int)TempData.Peek("id");
string time = TempData.Peek("date").ToString();
DateTime data = DateTime.ParseExact(time, "d", CultureInfo.InvariantCulture);
var result = _access.GetPrice(id, data);
ViewBag.Json = new JavaScriptSerializer().Serialize(result));
return View(result);
}
答案 0 :(得分:0)
要解决此问题,您可以使用newtonSoft,这是一个Json框架。
1 - 使用程序包管理器控制台在Visual Studio项目中安装程序包:
PM> Install-Package Newtonsoft.Json
2 - 将您的第@Html.Raw(Json.Encode(@Model))
行替换为
var model = @Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(Model));
现在您已在模型变量中序列化了javascript对象。您可以访问您的模型。
我希望它有所帮助。