Можно ли создать частичное представление с контроллером, которое можно вызывать из другого представления, используя
Html.RenderAction (...)
НО без того же контроллерабыть доступным через URL?
Так, например,
public class ArticlesController : Controller
{
public ActionResult HomeList()
...
}
Предоставляет список последних статей для нижней части моих веб-страниц.
Поэтому я вызываю это с
_Layout.cshtml
Однако я не хочу, чтобы кто-то приходил на
mysite.com / Статьи / HomeList
и видел то же самоесписок по разным причинам (безопасность, SEO и т. д.)
Спасибо
Редактировать:
В итоге я использовал свой собственный класс атрибутов, благодаря помощи Русса:
public class ChildActionOnly404Attribute : FilterAttribute, IAuthorizationFilter
{
void IAuthorizationFilter.OnAuthorization(AuthorizationContext filterContext)
{
if (!filterContext.IsChildAction)
{
throw new HttpException(404, "");
}
}
}