ASP.NET MVC trả về chế độ xem trống


112

Cách tự nhiên nhất để trả về một ActionResult trống (đối với hành động con) là gì?

public ActionResult TestAction(bool returnValue)
{
   if (!returnValue)
     return View(EmptyView);

   return View(RealView);
}

Một tùy chọn tôi có thể thấy là tạo một dạng xem trống và tham chiếu nó tại EmptyView ... nhưng có thể có bất kỳ tùy chọn tích hợp nào không?


View () không có tùy chọn để chỉ trả về văn bản? Nếu vậy, hãy gửi một chuỗi trống.
Andy Hunt

Câu trả lời:


227

trả về thể hiện của lớp EmptyResult

 return new EmptyResult();

1
Trong một hành động trả về EmptyResult, nó có giống với thực hiện return nullkhông?
Robin Maben

1
@RobinMaben: Không, null sẽ không trả về một đối tượng từ phương thức. EmptyResult tuy nhiên sẽ.
cederlof

1
Tôi muốn quay lại nullvì trong nội bộ, nó sẽ sử dụng cái internal EmptyResult.Instancemà bạn không thể tự mình truy cập. Điều này giúp tiết kiệm lặp đi lặp lại việc khởi tạo một đối tượng không trạng thái.
Jorrit Schippers


8

nếu bạn không muốn trả lại gì, bạn có thể làm điều gì đó như

if (!returnValue)
     return Content("");

   return View(RealView);

16
trả về mới EmptyResult (); là phương pháp ưa thích
RickAndMSFT
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.