Tôi đang sử dụng mẫu chuyển hướng sau khi chuyển hướng cho tất cả các biểu mẫu của mình, nhưng bây giờ cần thêm chức năng AJAX để cải thiện trải nghiệm người dùng. Suy nghĩ ban đầu của tôi là hai người không trộn lẫn.Mẫu PRG có tương thích với các bài đăng biểu mẫu AJAX không?
Trong kịch bản PRG, tôi sẽ có hành động đăng bài của mình sau đó sẽ chuyển hướng trở lại hành động của tôi nếu có lỗi xác thực hoặc chuyển hướng đến thành công của tôi.
Trong trường hợp AJAX, tôi cần trả lại một phần xem theo một trong hai cách. Thông thường, tôi sẽ kiểm tra xem nó có phải là một yêu cầu AJAX trước không. Nếu vậy, hãy trả lại một phần xem, nếu không sẽ trả lại khung nhìn.
Bất kỳ suy nghĩ hoặc đề xuất nào?
Bạn có thể trừu tượng hóa if ajax ... thành một phương thức AjaxView trong một lớp cơ sở để loại bỏ sự lộn xộn. Vấn đề chính với cách tiếp cận của bạn là bạn đang trả về một khung nhìn từ hành động POST vì vậy nó không phải là PRG trong trường hợp thất bại xác nhận. Tôi chuyển hướng trở lại hành động GET ban đầu, bằng cách sử dụng một xuất khẩu và nhập khẩu của ModelState. Vấn đề chính là FireFox không bảo vệ cờ ajax giữa các chuyển hướng, vì vậy trong hành động GET của tôi, IsAjaxRequest là sai. Tôi hiện đang phải làm việc xung quanh điều này với một bộ lọc hành động mà giữ lá cờ để tempdata. Không phải là rất thanh lịch mặc dù. –