这篇文章主要介绍了详解mvc使用jsonresult返回json数据,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
controller 中定义以下方法:
public jsonresult updatesingle(int id, string actionname, string actionvalue)
{
var res = new jsonresult();
//var value = "actionvalue";
//db.contextoptions.proxycreationenabled = false;
var list = (from a in db.articles
select new
{
name = a.arttitle,
yy = a.artpublishtime
}).take(5);
//记得这里要select new 否则会报错:序列化类型 system.data.entity.dynamicproxies xxxxx 的对象时检测到循环引用。
//不select new 也行的加上这句 //db.contextoptions.proxycreationenabled = false;
res.data = list;//返回列表
var name = "小华";
var age = "12";
var name1 = "小华";
var age1 = "12";
res.data = new object[] { new { name, age }, new { name1, age1 } };//返回一个自定义的object数组
var person = new { name = "小明", age = 22, sex = "男" };
res.data = person;//返回单个对象;
res.data = "这是个字符串";//返回一个字符串,意义不大;
res.jsonrequestbehavior = jsonrequestbehavior.allowget;//允许使用get方式获取,否则用get获取是会报错。
return res;
}
页面调用:
<a href="javascript:void(0);" onclick="javascript:upclick(this);">click me</a>
<script type="text/javascript">
function upclick(o) {
var obj = $(o);
alert(obj);
$.ajax({
url: "/articles/updatesingle?ran=" + math.random(),
type: "get",
datatype: "json",
data: { id: obj.attr("id"), actionname: obj.attr("actionname"), actionvalue: obj.attr("actionvalue") },
success: function (data) {
// if (data.result == "true") {
// alert("修改成功!");
// }
// if (obj.attr("actionname") == "artverify") {
// }
$(o).html(data[0].name);
obj.attr("actionvalue", data[0].result);
}
})
}
</script>
以上是在mvc中使用,在webform中怎么使用呢?
在webform中要引用newtonsoft.json.dll;
当然你也可以自己拼接字符串。
protected void page_load(object sender, eventargs e)
{
var customer = new customer { name = "李华", sex = "男" };
var customer1 = new customer { name = "小芳", sex = "女" };
var li = new list<customer>();
li.add(customer);
li.add(customer1);
var list = newtonsoft.json.javascriptconvert.serializeobject(li);
var tt = "[{\"name\":\"李华\",\"sex\":\"男\"},{\"name\":\"小芳\",\"sex\":\"女\"}]";
//new newtonsoft.json.jsonserializer()..(customer);
response.write(tt);
response.end();
}
public class customer
{
public string name { get; set; }
public string sex { get; set; }
}
页面方法:
<p>
<a href="javascript:void(0)" onclick="javascript:getjsondata();">getjsondata</a>
</p>
<p id="datap">
ggg
</p>
<script type="text/javascript">
function getjsondata() {
var str = "";
$.getjson("/json.aspx", function (data) {
var tt = "";
$.each(data, function (k, v) {
$.each(v, function (kk, vv) {
tt += kk + ":" + vv + "<br/>";
});
});
$("#datap").html(tt);
});
}
</script>
显示结果:
以上就是使用asp.net mvc使用jsonresult返回json数据实例详解的详细内容。