The ASP.NET AJAX Thư viện có thể đóng một vai trò quan trọng trong các ứng dụng ASP.NET MVC khi một trang cần được Ajax bật. Hướng dẫn này sẽ thảo luận làm thế nào để trở về JSON (JavaScript Object Notation) kết quả từ một Controller Actions quá trình và trong vòng một trang view. Các bước thảo luận bao gồm:
- Tạo một dự án ASP.NET MVC
- Tạo một JsonResult Controller Action
- Gọi một Controller Action và Kết quả Binding
Bước 1: Tạo một dự án ASP.NET MVC
ASP.NET MVC framework không được bao gồm trong Visual Studio 2008 theo mặc định, nhưng có thể được tải về và cài đặt từ http://www.asp.net/mvc. Visual Studio 2010 đi kèm với ASP.NET MVC ra khỏi hộp. Để tạo một ASP.NET mới MVC dự án chọn File | New Project và chọn ASP.NET MVC Web Application từ mẫu. Sau khi tạo dự án bạn sẽ thấy một số các thư mục trong dự án bao gồm một lý, kiểu xe và thư mục xem.
Bước 2: Tạo một JsonResult điều khiển hành động
Mở rộng các thư mục Models và thêm một class mới vào project có tên là Customer có các thuộc tính sau:
Mở rộng thư mục Controllers và mở các class tên là HomeController.cs trong cửa sổ soạn code. Chú ý rằng nó có một vài hành động được xác định theo mặc định. Nhập khẩu các không gian tên được chỉ định cho các Customer class sử dụng hoặc tuyên bố nhập khẩu và sau đó thêm các action sau đây để trả về một List.
public JsonResult GetCustomers()
{
List<Customer> custs = new List<Customer>
{
new Customer
{
CustomerID = 1,
FirstName = "John",
LastName = "Doe",
Age = 50
},
new Customer
{
CustomerID = 2,
FirstName = "Jane",
LastName = "Doe",
Age = 47
}
};
return Json(custs);
}
ASP.NET MVC Controller actions thường được trả lại một loại ActionResult. Tuy nhiên, bởi vì actions này trở về dữ liệu JSON một loại JsonResult trở lại được xác định. Khi đối tượng List được tạo ra nó được chuyển thành dữ liệu JSON bằng cách sử dụng phương pháp xây dựng trong JSON.
Bước 3: Kêu gọi một hành động điều khiển và Kết quả Binding
Mở rộng thư mục Views/Home và mở file index.aspx trong cửa sổ soạn code. Để sử dụng chức năng trong Script ASP.NET Script Library có thể được dùng để nạp object script và các tập lệnh MicrosoftAjaxWebServices.js. Thêm dòng sau vào trong kiểm soát nội dung rằng có một giá trị ContentPlaceHolderID của "MainContent":
<script src="http://ajax.microsoft.com/ajax/beta/0911/Start.js" type="text/javascript"></script>
<script type="text/javascript">
Sys.require([Sys.components.dataView, Sys.scripts.WebServices], function() {
var dataView = Sys.create.dataView('#CustomersTemplate',
{
dataProvider: "/Home/GetCustomers",
autoFetch: true
});
});
</script>
Điều quan trọng cần lưu ý là lệnh được dùng nhiều lần trong một ứng dụng ASP.NET MVC có thể được tải tại của ứng dụng trang Master để bảo trì đơn giản hóa như trái ngược với tải chúng trong một Xem cụ thể.
Bây giờ mà các thành phần DataView được tạo ra mẫu mà nó gắn với nhu cầu để được tạo ra. Thêm sau mẫu mã dưới đây đóng yếu tố </script> :
<div id="CustomersTemplate" class="sys-template">
{{FirstName}} {{LastName}}
<br />
</div>
public class Customer
{
public int CustomerID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public int Age { get; set; }
}
Mở rộng thư mục Controllers và mở các class tên là HomeController.cs trong cửa sổ soạn code. Chú ý rằng nó có một vài hành động được xác định theo mặc định. Nhập khẩu các không gian tên được chỉ định cho các Customer class sử dụng hoặc tuyên bố nhập khẩu và sau đó thêm các action sau đây để trả về một List
public JsonResult GetCustomers()
{
List<Customer> custs = new List<Customer>
{
new Customer
{
CustomerID = 1,
FirstName = "John",
LastName = "Doe",
Age = 50
},
new Customer
{
CustomerID = 2,
FirstName = "Jane",
LastName = "Doe",
Age = 47
}
};
return Json(custs);
}
ASP.NET MVC Controller actions thường được trả lại một loại ActionResult. Tuy nhiên, bởi vì actions này trở về dữ liệu JSON một loại JsonResult trở lại được xác định. Khi đối tượng List
Bước 3: Kêu gọi một hành động điều khiển và Kết quả Binding
Mở rộng thư mục Views/Home và mở file index.aspx trong cửa sổ soạn code. Để sử dụng chức năng trong Script ASP.NET Script Library có thể được dùng để nạp object script và các tập lệnh MicrosoftAjaxWebServices.js. Thêm dòng sau vào trong kiểm soát nội dung rằng có một giá trị ContentPlaceHolderID của "MainContent":
<script src="http://ajax.microsoft.com/ajax/beta/0911/Start.js" type="text/javascript"></script>
<script type="text/javascript">
Sys.require([Sys.components.dataView, Sys.scripts.WebServices], function() {
var dataView = Sys.create.dataView('#CustomersTemplate',
{
dataProvider: "/Home/GetCustomers",
autoFetch: true
});
});
</script>
Điều quan trọng cần lưu ý là lệnh được dùng nhiều lần trong một ứng dụng ASP.NET MVC có thể được tải tại của ứng dụng trang Master để bảo trì đơn giản hóa như trái ngược với tải chúng trong một Xem cụ thể.
Bây giờ mà các thành phần DataView được tạo ra mẫu mà nó gắn với nhu cầu để được tạo ra. Thêm sau mẫu mã dưới đây đóng yếu tố </script> :
<div id="CustomersTemplate" class="sys-template">
{{FirstName}} {{LastName}}
<br />
</div>
Comments[ 0 ]
Đăng nhận xét