Có mã C# nào cần một bộ điều khiển hiện có, phân tích các phương thức Hành động công khai của nó và tạo lớp proxy JavaScript để nó có thể dễ dàng được gọi bằng mã Javascript khác không? Tôi đã biết chúng tôi có thể sử dụng jquery để thực hiện một $ .post và $ .get để gọi các dịch vụ ajax của chúng tôi nhưng tôi tin rằng quá trình có thể được đơn giản hóa bằng cách không phải chỉ định url tương đối của URL dịch vụ web AJAX và tên thông số cho mỗi đầu vào tham số.Có dự án nào tự động tạo mã proxy JavaScript để gọi các phương thức hành động ASP.NET MVC không?
Ví dụ, giả sử chúng ta có C# điều khiển sau:
public class CustomerController : Controller
{
public JsonResult Create(string name, string address)
{
return new JsonResult {Data = 11111};
}
public JsonResult Update(int id, string name, string address)
{
return new JsonResult {Data = true};
}
}
Tôi muốn gọi các phương thức hành động AJAX của bộ điều khiển bằng cách sử dụng thời trang sau.
Proxy.Customer.Create("Scott Gu", "Somewhere in Redmond").done(function(id) {
/* id is an int and not an string */
Proxy.Customer.Update(id, "Scott Gu", "Somewhere in Seattle");
});
Dự án có tồn tại cho phép tôi thực hiện việc này không?
Cập nhật
nó quay ra không có dự án nào những gì tôi yêu cầu. Một cái gì đó có thể được sử dụng, bên cạnh SignalR, là dự án Kiểm soát viên của Phil Haack. Nó có thể kiểm tra bất kỳ bộ điều khiển cụ thể nào và cho biết phương thức hành động nào có, các tham số mà nó chấp nhận, loại của chúng, v.v.
Liên kết sau chứa phương thức getter để lấy chi tiết về bộ điều khiển đã cho. https://github.com/Haacked/CodeHaacks/blob/master/src/MvcHaack.ControllerInspector/ControllerDetailer.cs
Cập nhật 2
Doh. Phil Haack đã phát triển một proxy JavaScript. Hướng dẫn có thể được tìm thấy here.
Dường như bạn có câu trả lời duy nhất và tốt nhất cho câu hỏi này. Tôi đã nhìn thấy SignalR trước và nó là tuyệt vời nhưng tôi chỉ không nghĩ rằng sản xuất của nó đã sẵn sàng. Tôi sẽ cố gắng trích xuất bất kỳ mã tôi có thể từ SignalR. Cảm ơn! – burnt1ce