【发布时间】:2013-09-23 11:15:08
【问题描述】:
我有以下方法:
[HttpPost]
public ActionResult GetData()
{
var data= (dynamic)null;
using (DBContext context = new DBContext())
{
data= context.MyObject.Where(i=> i.TypeId == 1).OrderBy(k => k.Name).Select(w => new
{
description = w.Description
}).ToList();
}
return Json(data, JsonRequestBehavior.AllowGet);
}
所以我想将数据正确转换为 json 对象,但我不确定我是否做得正确。返回的数据应该在 javascript 中使用。
我有很多谷歌,我找到了下面的例子,也许我应该做类似的事情,但我不知道怎么做:
var keyValues = new Dictionary<string, string>
{
{ "emailSend", textBox1.Text },
{ "toEmail", textBox2.Text }
};
JavaScriptSerializer js = new JavaScriptSerializer();
string json = js.Serialize(keyValues);
MessageBox.Show(json);
【问题讨论】:
-
使用
Newtonsoft.Json! -
您的代码将返回
Json?您在控制器中调用Json()。这会将您的对象转换为 Json。不需要其他任何东西。 -
我应该返回 json 数据,但我不确定我是否从控制器正确完成。
-
MessageBox.Show是一种 windows 方法,在 ASP.Net 中也不起作用 -
return Json(data, JsonRequestBehavior.AllowGet);是正确的方式
标签: c# javascript asp.net-mvc json serialization