ASP.NET MVC повертає порожній вигляд


112

Який найприродніший спосіб повернути порожній ActionResult (для дитячих дій)?

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

   return View(RealView);
}

Я можу побачити один варіант створення порожнього перегляду та посилання на нього в EmptyView ... але може бути якийсь вбудований варіант?


Чи не переглядає () версія для повернення лише тексту? Якщо так, надішліть порожній рядок.
Енді Хант

Відповіді:


227

повернути екземпляр класу EmptyResult

 return new EmptyResult();

1
У дії, яка повертається EmptyResult, це те саме, що робити return null?
Робін Мабен

1
@RobinMaben: Ні, null не поверне об'єкт із методу. EmptyResult проте буде.
cederlof

1
Я повернусь, nullтому що внутрішньо він використовуватиме те, до internal EmptyResult.Instanceчого ви не можете отримати доступ. Це економить неодноразову інстанцію об'єкта без громадянства.
Хорріт Шипперс

18

Ви можете повернути EmptyResult, щоб повернути порожній вигляд.

public ActionResult Empty()
{
    return new EmptyResult();
}

Ви також можете просто повернутися null. ASP.NET виявить тип повернення nullі поверне EmptyResult для вас .

public ActionResult Empty()
{
    return null;
}

Перегляньте документацію MSDN для ActionResult для списку типів ActionResult, які можна повернути.


8

якщо ви нічого не хочете повернути, можете зробити щось на кшталт

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

   return View(RealView);

16
повернути новий EmptyResult (); є кращим підходом
RickAndMSFT
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.