主攻ASP.NET MVC4.0之重生:ASP.NET MVC使用JSONP
来源:互联网 发布:小额贷款骗局知乎 编辑:程序博客网 时间:2024/06/09 23:06
原文地址
http://www.codeguru.com/csharp/.net/net_asp/using-jsonp-in-asp.net-mvc.htm
1.创建JsonpController
public class JsonpController : Controller { // GET: /Jsonp/ VoteUserRepository userrepository = new VoteUserRepository(); [HttpGet] public JsonpResult GetData(int? page) { var list = userrepository.GetModelList().Where(d => d.PhotoWorkInPoll != null).Where(d => d.PhotoWork.FirstOrDefault().State == 1); var userlist = from c in userrepository.GetPageModelList(list, 8, page ?? 1) select new { c.VoteUserID, c.UserName }; JsonpResult result = new JsonpResult(userlist); return result; } }
2.创建JsonpResult
public class JsonpResult : JsonResult { object data = null; public JsonpResult() { } public JsonpResult(object data) { this.data = data; } public override void ExecuteResult(ControllerContext controllerContext) { if (controllerContext != null) { HttpResponseBase Response = controllerContext.HttpContext.Response; HttpRequestBase Request = controllerContext.HttpContext.Request; string callbackfunction = Request["callback"]; if (string.IsNullOrEmpty(callbackfunction)) { throw new Exception("Callback function name must be provided in the request!"); } Response.ContentType = "application/x-javascript"; if (data != null) { JavaScriptSerializer serializer = new JavaScriptSerializer(); Response.Write(string.Format("{0}({1});", callbackfunction, serializer.Serialize(data))); } } } }
Json数据内容地址:http://localhost:12111/Jsonp/GetData?page=1&callback=JsonCallback
格式例如如下:
JsonCallback([{"VoteUserID":1264,"UserName":"sjc196576 "},{"VoteUserID":1265,"UserName":"竹山县朱本双 "},{"VoteUserID":1266,"UserName":"qwe1725060988 "},{"VoteUserID":1267,"UserName":"堵河1982610 "},{"VoteUserID":1268,"UserName":"625297524 "},{"VoteUserID":1269,"UserName":"chen223150 "},{"VoteUserID":1270,"UserName":"1296909213 "},{"VoteUserID":1271,"UserName":"878223109 "}]);3.其他页面调用数据方法
function TestCallback () { $.ajax({ type: "get", async: false, url: "http://localhost:12111/Jsonp/GetData?page=1&callback=JsonCallback", dataType: "jsonp", jsonp: "callback", jsonpCallback:"JsonCallback", success: function(json){ for (var i=0;i<7;i++){ alert(json[i].UserName); } }, error: function(){ alert('失败'); } }); }
0 0
- 主攻ASP.NET MVC4.0之重生:ASP.NET MVC使用JSONP
- 主攻ASP.NET.4.5 MVC4.0之重生:可多选框数据存放
- ASP.NET-MVC4-07-Models-in-mvc
- ASP.NET 4.5 MVC4.0
- [MVC4]初识ASP.NET MVC4
- Using JSONP in ASP.NET MVC
- asp.net mvc4+easyui
- asp.net mvc4
- ASP.NET MVC4
- ASP.NET MVC4 RemoteAttribute
- asp.net mvc4
- Asp.Net MVC4 之Url路由
- Asp.Net MVC4 之Url路由
- 在 ASP.NET MVC4 中使用 NInject
- ASP.NET MVC4中使用NHibernate
- asp.net mvc4 使用KindEditor文本编辑器
- ASP.NET MVC4 NInject 使用示例教程
- asp.net mvc4 使用KindEditor文本编辑器
- 从本科知识开始Java、TCPIP、Socke…
- Spring中IOC,控制反转(一)——不…
- unity光照窗口
- @NotEmpty、@NotBlank、@NotNull的区别
- Spring中IOC,控制反转(二)——带x…
- 主攻ASP.NET MVC4.0之重生:ASP.NET MVC使用JSONP
- Java性能垫底的真相(别的测试你都…
- util.NestedServletException:&nbs…
- org.springframework.core.NestedI…
- Spring与Hibernate整合实现(SH框…
- 系统的简单注解
- 从最基本的Netbeans默认Servlet项…
- 利用MFC中的picture control 控件显示图像
- 从最基本的Netbeans默认Servlet项…