标签:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 6 namespace APIApplication.Models 7 { 8 public class Employees 9 { 10 public int? Id { get; set; } 11 public int? DepartmentId { get; set; } 12 public string Name { get; set; } 13 public string Job { get; set; } 14 public string Gender { get; set; } 15 public string PhoneNum { get; set; } 16 public string EmailAdderss { get; set; } 17 public string Address { get; set; } 18 } 19 }
1 static List< Employees> emps; 2 static EmployeesController() 3 { 4 emps = new List< Employees>(); 5 emps.Add( new Employees { Id = 1, DepartmentId = 1, Name = "张三", Gender = "男" , Job = "ASP.NET工程师" , PhoneNum = "1886 0922483", EmailAdderss = "zhangsan@123.com" , Address = "江苏省苏州市独墅湖大道228号" }); 6 emps.Add( new Employees { Id = 2, DepartmentId = 2, Name = "李四", Gender = "女" , Job = "web前端工程师" , PhoneNum = "1886 0922483", EmailAdderss = "lisi@123.com" , Address = "江苏省苏州市独墅湖大道228号" }); 7 }
1 public IEnumerable <Employees > Get(int ? id = null ) 2 { 3 return from employee in emps where employee.Id.Equals(id) || string.IsNullOrEmpty(Convert .ToString(id)) select employee; 4 } 5 public void Post( Employees employee) 6 { 7 employee.Id = 3; 8 emps.Add(employee); 9 } 10 public void Put( Employees employee) 11 { 12 emps.Remove(emps.Where(e => e.Id == employee.Id).First()); 13 emps.Add(employee); 14 } 15 public void Delete( int id) 16 { 17 emps.Remove(emps.Where(e => e.Id == id).FirstOrDefault()); 18 }
1 <script> 2 $(document).ready( function () { 3 $.ajax({ 4 type: ‘GET‘, 5 url: ‘http://localhost:7974/api/employees/get‘, 6 dataType: ‘JSON‘, 7 success: function (data) { 8 alert( "姓名:" + data[0].Name + " 性别:" + data[0].Gender + " 住址:" + data[0].Address); 9 } 10 }); 11 })
1 using System.Web; 2 using System.Web.Http.Filters; 3 using System.Web.Mvc; 4 5 namespace APIApplication 6 { 7 public class CrossSiteAttribute : System.Web.Http.Filters.ActionFilterAttribute 8 { 9 private const string Origin = "Origin"; 10 /// <summary> 11 /// Access-Control-Allow-Origin是HTML5中定义的一种服务器端返回Response header,用来解决资源(比如字体)的跨域权限问题。 12 /// </summary> 13 private const string AccessControlAllowOrigin = "Access-Control-Allow-Origin" ; 14 /// <summary> 15 /// originHeaderdefault的值可以使 URL 或 *,如果是 URL 则只会允许来自该 URL 的请求,* 则允许任何域的请求 16 /// </summary> 17 private const string originHeaderdefault = "http://192.168.13.7:8002" ; 18 /// <summary> 19 /// 该方法允许api支持跨域调用 20 /// </summary> 21 /// <param name="actionExecutedContext"> 初始化 System.Web.Http.Filters.HttpActionExecutedContext 类的新实例。</param> 22 public override void OnActionExecuted( HttpActionExecutedContext actionExecutedContext) 23 { 24 actionExecutedContext.Response.Headers.Add(AccessControlAllowOrigin, originHeaderdefault); 25 } 26 } 27 }
1 [CrossSite] 2 public IEnumerable<Employees > Get(int ? id = null ) 3 { 4 return from employee in emps where employee.Id.Equals(id) || string.IsNullOrEmpty(Convert .ToString(id)) select employee; 5 }
1 public class v_employees 2 { 3 public int? id { get; set; } 4 public int? departmentid { get; set; } 5 public string name { get; set; } 6 public string job { get; set; } 7 public string gender { get; set; } 8 public string phonenum { get; set; } 9 public string emailadderss { get; set; } 10 public string address { get; set; } 11 }
1 private HttpClient client = new HttpClient (); 2 private string url = "http://192.168.13.7:8001/api/employees/get" ; 3 4 public async Task< ActionResult> Index() 5 { 6 ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application."; 7 8 var data = await client.GetAsync(url); 9 var employees = data.Content.ReadAsAsync<IEnumerable <v_employees >>(); 10 List< v_employees> emps = employees.Result.ToList(); 11 ViewData[ "employees"] = emps; 12 return View(); 13 }
然后在Index页面设置ViewData
在页面里就可以直接使用数据emps了
1 @foreach ( var item in emps) 2 { 3 <ul > 4 <li >@ item.name</ li> 5 <li >@ item.gender</li > 6 <li >@ item.address</li > 7 </ul > 8 }
运行后的效果如下:
未完待续。
本教程会持续更新。
标签:
原文地址:http://www.cnblogs.com/dongsipan/p/4772961.html