Вопрос

Я бросал довольно новый проект с Viewpages до бритвы сегодня, и все, кажется, хорошо идут хорошо. За исключением случаев, когда я пытаюсь использовать HTML.action для рендеринга пользователя, и он не представляет ничего.

Поэтому у меня есть общий файл / _layout.cshtml, который ссылается в Home / index.cshtml

Index.cshtml имеет следующее:

<article>

@Html.Action("LatestBlogsMainPanelWidget", "Blogs")

...

</article>

Я положил ловушки в Blogscontroller, поэтому я знаю, что запрашивается. Я также знаю, что возвращается модель, что NaxtyBlogsMainPanelwidget находится на основе двигателя View, и даже какой-то финтирный код бритвы запускается: @ {var s = "hello"; }

Но простой HTML в этом файле не делает его в браузере. Я тоже пробовал другие (ранее работающие) частичные частицы, и они не будут отображаться либо (источник просмотра на странице подтверждает, что это не там).

Я также попробовал заменить @ {html.renderaction (...); } безуспешно. Появится HTML по обе стороны от @ html.action, поэтому я знаю, что index.cshtml отображается должным образом.

Еще более странно файл _layout также имеет команды html.action и они делать появиться в порядке.

Я действительно не уверен, что еще проверить, или как подтвердить, что трубопровод получает HTML. Может кто-нибудь помочь вообще?

Спасибо!

Это было полезно?

Решение 3

Мозг - это забавная вещь, и, несмотря на то, что потратило несколько часов вчера вчера, потребовалось моя собака, просыпая меня посреди ночи, чтобы увидеть, как для моего подсознания, чтобы наткнуться на ответ.

Если бы у этого был кто-нибудь еще в тупик, я не удивлен. Я не упомянул, потому что оно не засели меня, что я использовал систему кэширования частичной уровня, аналогичную одному дизайну Стив Сандерсону. Это внезапно ударило меня, что это может быть причиной, поскольку в лучшем из моих знаний бритвы страниц проходят гораздо меньшую обработку трубопровода, чем страницы WebForm. Кэширующий фильтр, вероятно, не делает то, что ему нужно сделать, или в нужное время.

Я подтвердил, что комментирование фильтра AnductionCache на рассматриваемые действия исправила проблему.

Я понятия не имею, если эта проблема верна к кэшированию уровня страницы, как это не то, что я нахожу полезным.

Другие советы

Положите макет = нуль на частичном представлении, и он будет работать нормально.

Попробуй это:

@ {Html.renderaction ("NaightBlogsMainPanelwidget", "блоги");}

При поиске решений для этого вопроса я узнаю три проблемы измерения для не надлежащего рендеринга HTML.action и HTML.Renderaction. Пожалуйста, убедитесь, что вы сделали ниже вещей должным образом или нет.

  1. В вашем PartialView или представлении вы определены @ {Layout = null;}.
  2. Использовать return. PartialView. вместо Вид .
  3. Украсить свои действия с Child Actiononly атрибуты.

Я надеюсь, что применив выше все шаги, вы можете решить ваши проблемы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top