Nếu tôi có chức năng sau jQuery (trong một tập tin bên ngoài):ASP.NET MVC 3 - Chúng ta có thể sử dụng mô hình ràng buộc trong các cuộc gọi jQuery AJAX không?
function getResults(field1, field2, field3) {
$.get('/Search/GetResults', { id: field1, type: field2, blah: field3 }, function(data) {
$('#target').html(data);
});
}
Mà về cơ bản có một loạt các lĩnh vực từ mẫu, gửi chúng tới một phương pháp hành động (mà trả về một PartialViewResult), và liên kết với các dẫn đến div mục tiêu.
Dưới đây là phương pháp hành động:
[HttpGet]
public PartialViewResult GetResults(int id, int type, string blah)
{
var model = repository.GetResults(id, type, blah);
return PartialView("Results", model);
}
Có thể sử dụng mô hình ràng buộc ở đây? Ví dụ chúng ta có thể làm điều này:
function getResults(someModel) {
$.get('/Search/GetResults', { model: someModel }, function(data) {
$('#target').html(data);
});
}
Và đây:
[HttpGet]
public PartialViewResult GetResults(SearchPreferences prefs)
{
var model = repository.GetResults(prefs);
return PartialView("Results", model);
}
Hoặc tôi nên xây dựng một đối tượng JSON và vượt qua điều đó không? Hiện nay những giá trị này được lấy thông qua cá nhân jQuery DOM gọi:
var field1 = $('#field1').val();
var field2 = $('#field2').val();
Mục đích là để giảm/đơn giản hóa mã jQuery. Tôi có tất cả các cuộc gọi để lấy tất cả các giá trị, sau đó tôi cần phải vượt qua tất cả chúng như các tham số.
Lý tưởng nhất là tôi muốn chỉ truyền một đối tượng.
Bất kỳ đề xuất nào?
EDIT: Chỉ cần nhận ra tôi có thể sử dụng mới JSON Mẫu Binding tính năng trong ASP.NET MVC 3. Đọc lên trên đó bây giờ ... (cảm thấy tự do để trả lời trước trong khi chờ đợi) .
lol, tôi vừa thêm rằng chỉnh sửa và đang đọc cùng một bài đăng khi chúng ta nói. :) – RPM1984
Đẹp ... Tôi cũng làm điều tương tự! – Chaddeus
Bạn cũng có thể muốn xem http://haacked.com/archive/2010/04/15/sending-json-to-an-asp-net-mvc-action-method-argument.aspx – Chaddeus