Как насчет следующего HtmlHelper, где viewName
- это имя частичного представления.Это не совсем то, что вы после, но может обеспечить начало.Я хотел бы учесть, что, если у вас есть заданный список действий, которые можно выполнить в случае пустого списка, вы можете создать частичные представления, отражающие это.Возможно один для каждого контроллера, но названный тем же самым и может заменить аргумент "NoResultsView".
В зависимости от того, используете ли вы ViewModels в своем проекте - вы можете создать соглашение об именовании для представлений типа результата, и это может дополнительно устранить необходимость в аргументе viewName
public static MvcHtmlString ResultsView<TModel> (this HtmlHelper helper, IList<TModel> items, string viewName) where TMdodel: class
{
if (items.Count() != 0)
{
return System.Web.Mvc.PartialExtensions.Partial(helper, viewName, items);
}
}
return return System.Web.Mvc.PartialExtensions.Partial(helper, "NoResultsView", items); // View is Shared
}