Большая часть моего простого содержимого находится в базе данных, доступ к которой осуществляется с помощью пользовательской CMS. Вокруг приложения отображаются простые сообщения «спасибо» и т. Д., Которые состоят из действия контроллера (упрощенно):
public ActionResult DetailsUpdated()
{
return View();
}
и мой взгляд:
@Html.GetContent("DetailsUpdated")
У меня их довольно много, и довольно раздражает наличие большого количества файлов представлений с однострочными вставками. Я хочу иметь возможность возвращать этот контент как представление, я могу сделать return ContentResult(ContentRepository.GetContent("KEY"));
, но это возвращается как простой -текст и не отображается главный вид.
Таким образом, в основном, извлеките содержимое из БД через ContentRepository.GetContent("KEY")
(возвращает строку) и вставьте его в главное представление, где вызывается RenderBody (). Я хотел бы иметь собственный ActionResult, чтобы я мог просто сделать:
public ActionResult DetailsUpdated()
{
return DbContentResult();
}
, а затем DbContentResult
ActionResult найдет ключ содержимого относительно действия и имени контроллера, перейдет в базу данных, извлечет содержимое и отобразит его в своем главном представлении, физическое представление файла не требуется. Это возможно?