Chỉ cần tự hỏi tại sao hầu hết mọi phương thức điều khiển tôi thấy trong mã MVC mẫu trả về ActionResult, ngay cả khi rõ ràng là mã chỉ có thể trả về một loại kết quả. Tôi hiểu có một số trường hợp mà nó được bảo đảm bởi vì bạn có thể trở lại, nói một RedirectResult hoặc ViewResult tùy thuộc vào logic, nhưng đó không phải là trường hợp cho hầu hết các phương pháp tôi đã nhìn thấy.Tại sao hầu hết mã điều khiển mẫu MVC trả về ActionResult?
Không phải là tương đương với việc có loại trả về 'đối tượng' trên phương pháp? Tại sao không chỉ định JsonResult, hoặc FileResult hoặc ViewResult làm kiểu trả về? Có một lợi ích tôi không thấy để giải quyết kiểu trả về cho ActionResult trên mọi phương thức điều khiển?
dụ Classic:
public ActionResult Index()
{
return View();
}
Tại sao điều này dường như là tiêu chuẩn thay vì điều này:
public ViewResult Index()
{
return View();
}
EDIT: Cho đến nay tất cả các câu trả lời ngoại trừ một đã chỉ ra rằng ActionResult chỉ chung chung hơn. Tôi biết nhiều. :) Tại sao điều này được chấp nhận thực hành trên một phương pháp điều khiển mặc dù, và không phải bất cứ nơi nào khác? Bạn không chỉ trả về các lớp mức cơ sở cao nhất của một kiểu mà bạn có thể sử dụng trên một phương thức bình thường, bạn cố gắng trả lại kiểu cụ thể nhất mà bạn có thể thường làm. Điều gì làm cho các phương pháp điều khiển khác biệt đến nỗi các blogger và "các nhà văn mã mẫu" (vâng, tôi đã thực hiện thuật ngữ đó) sẽ chỉ là phương tiện để trả lại ActionResult?
có thể trùng lặp của [Phương thức điều khiển ASP.NET MVC trả về ActionResult?] (Http://stackoverflow.com/questions/1021568/must-asp-net-mvc-controller-methods-return-actionresult) – bzlm