Tôi đang sử dụng ASP .NET MVC 3 và tôi có một vấn đề thú vị để giải quyết rằng tôi hy vọng cho một số lời khuyên về.Có thể gọi Trình biên dịch Dao cạo Lập trình từ một phương thức Bộ điều khiển không?
Tôi có một trang có số lượng div bên trong nó. Các nội dung của mỗi div thay đổi theo thời gian và vì vậy hiện tại tôi có một bộ đếm thời gian cho mỗi div chạy mà làm cho một yêu cầu $ .ajax cho máy chủ mà trả về một PartialViewResult với nội dung cập nhật của div. Chế độ xem một phần khá phức tạp và tham chiếu các chế độ xem khác.
Vấn đề với cách tiếp cận này là nó không quy mô rất tốt. Có thể là mỗi người dùng có rất nhiều bộ tính giờ này và với rất nhiều người dùng, máy chủ liên tục bị tấn công. Tôi thà, do đó, tạo ra một yêu cầu duy nhất đến máy chủ trả về, có khả năng, nhiều Nội dung div vì thế nó sẽ là:
div1 { some html }
div2 { some html }
...
Sau đó trên máy khách tôi có thể đặt mỗi chút HTML vào đúng vị trí trên trang.
Tôi nghĩ rằng những gì tôi có thể làm là trả lại JSON từ máy chủ nhưng vấn đề của tôi là - làm cách nào để nhận HTML? Tại thời điểm trình biên dịch dao cạo sẽ chạy và biến các phần cshtml xem một phần của tôi thành HTML nhưng nếu tôi trả về JSON, có thể lập trình gọi trình biên dịch dao cạo không?
Tôi đã tìm thấy Dao cạo ở đây: http://razorengine.codeplex.com/ dường như làm những gì tôi muốn nhưng có thể làm điều đó chỉ với vanilla ASP NET MVC không?
Hoặc, nếu có vấn đề, có cách nào tốt hơn để tôi có thể đạt được mục tiêu của mình không?
Cảm ơn bạn đã trợ giúp!
Tại sao không tạo Hành động trả về một phần xem mới để hiển thị tất cả các phần trong Chế độ xem một phần? Bằng cách đó, động cơ đang được gọi từ đúng nơi, tức là chế độ xem. – StuperUser