如果string不为null,如何在控制器中返回空视图?

时间:2014-06-12 07:18:59

标签: asp.net-mvc asp.net-mvc-4 if-statement view return

在我的控制器中我有一些代码,最后一部分将所有结果返回到我的视图:

public ActionResult Index(SearchParameters parameters)
{
... some code ...
var view = new SpremenljivkeView
{
    Spremenljivke = matchingSpremenljivke,
    Search = parameters,
    TotalCount = matchingSpremenljivke.NumFound,
};

return View("../Login/Index", view);
}

现在我想在View中发送结果,如果参数(内部编号)中的字符串不为空或为空。如果为null,则返回空值,如果不返回带有结果的视图。

我试过这个:

...
if (!string.IsNullOrEmpty(parameters.Internal))
{
  var view = new SpremenljivkeView
  {
    Spremenljivke = matchingSpremenljivke,
    Search = parameters,
    TotalCount = matchingSpremenljivke.NumFound,
  };

  return View("../Login/Index", view);
}

但是返回View不能在里面。如果是sentece。知道怎么纠正这个...

感谢任何想法。

1 个答案:

答案 0 :(得分:2)

您需要在其他部分返回EmptyResult,因为操作需要返回ActionResult

if (!string.IsNullOrEmpty(parameters.Internal))
{
  var view = new SpremenljivkeView
  {
    Spremenljivke = matchingSpremenljivke,
    Search = parameters,
    TotalCount = matchingSpremenljivke.NumFound,
  };

  return View("../Login/Index", view);
}
else
{
return new EmptyResult();
}

如果你想返回没有值的同一个视图,那么只返回else部分中的视图:

return View("../Login/Index");