你可以使用asp.net mvc Json()将C#字典转换为Javascript关联数组
发布时间:2020-05-24 02:51:00 所属栏目:asp.Net 来源:互联网
导读:我最近 asked this question,但经过一些回应和一些研究,我想改变我实际要求的. 我看到了一个number of blog posts about sending associative arrays from javascript to C#控制器的动作,但我想要相反.我想把json作为一个字典返回给客户端(从我的研究中,javas
|
我最近 asked this question,但经过一些回应和一些研究,我想改变我实际要求的. 我看到了一个number of blog posts about sending associative arrays from javascript to C#控制器的动作,但我想要相反.我想把json作为一个字典返回给客户端(从我的研究中,javascript相当于dictionary是一个关联数组). 当我在c sharp中使用一个常规字典,并调用Json()并尝试将其返回到javascript,它只是爆炸,我无法在JavaScript方面放置一个断点.例如: C#代码: Dictionary<string,List<CalendarEvent>> dict = events.GroupBy(r => r.Date.ToString("MMM dd,yyyy")).ToDictionary(group => group.Key,group => group.ToList());
return Json(new
{
Dict = dict
}
});
Javascript代码: $.post('/MyController/Refresh',function (data) {
var calendarDictionary = data.Dict;
},"json");
解决方法你可能会有一点更具体的,它只是吹起了部分,但这里是一个很好的例子,对我来说:模型: public class CalendarEvent
{
public string Name { get; set; }
public DateTime Date { get; set; }
public int Id { get; set; }
}
控制器: public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Refresh()
{
var model = new[]
{
new CalendarEvent
{
Id = 1,Name = "event 1",Date = DateTime.Now
},new CalendarEvent
{
Id = 2,Name = "event 2",new CalendarEvent
{
Id = 3,Name = "event 3",Date = DateTime.Now.AddDays(2)
},}
.ToList()
.ConvertAll(a => new
{
a.Name,a.Id,Date = a.Date.ToString("MMM dd,yyyy"),})
.GroupBy(r => r.Date)
.ToDictionary(
group => group.Key,group => group.Select(x => new { x.Name,x.Id })
);
return Json(new { Dict = model });
}
}
视图: <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>JSON Test</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
$.post('/home/refresh',function(data) {
// TODO : manipulate the data.Dict here
},'json');
});
</script>
</head>
<body>
</body>
</html>
已返回的JSON: { "Dict": { "Sep 05,2010": [ { "Name": "event 1","Id": 1 },{ "Name": "event 2","Id": 2 } ],"Sep 07,2010": [ { "Name": "event 3","Id": 3 } ] } } (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 获取当前以aspnet mvc成员身份登录的userID
- C# 中的委托和事件 [转载]
- asp.net-mvc-3 – ASP.NET MVC语言更改链接
- asp.net-mvc – HTML5元素的“传说”太少了
- ASP.NET-MVC(IIS6)高流量时出错:指定的强制转换无效
- asp.net-mvc – ASP.NET MVC:路由中的命名空间
- asp.net-mvc – LINQ到EF有什么问题?
- asp.net-mvc – MVC3将@model传递给局部视图
- asp.net webservice返回json的方法
- 一个新的ASP.NET MVC 5应用程序如何知道如何创建数据库,以及
推荐文章
站长推荐
- asp.net 将一个图片以二进制值的形式存入Xml文件
- asp.net-mvc-4 – 使用基于声明的授权
- 是否可以使用ASP.NET ScriptManager来使用Window
- asp.net-mvc – App_Web _ * .dll中的System.Nul
- asp.net – 两个DLL中都存在“ModelClientValida
- asp.net-mvc – 授权属性生命周期
- asp.net – PostbackUrl vs NavigateUrl
- asp.net – 检查表单是否有密钥?
- ASP.NET(AJAX+JSON)实现对象调用
- asp.net-mvc – ASP.Net MVC 3 – JSON模型绑定到
热点阅读
