在我的控制器中我有一些代码,最后一部分将所有结果返回到我的视图:
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。知道怎么纠正这个...
感谢任何想法。
答案 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");