ASP.NET MVC 3 RenderPartial / Razor и iframe - PullRequest
       5

ASP.NET MVC 3 RenderPartial / Razor и iframe

3 голосов
/ 15 апреля 2011

Я хочу визуализировать PartialView внутри <iframe src=''></iframe> Представленное частичное представление имеет свой собственный код JavaScript и лист CSS . Я пробовал два способа получить эту работу (ни один из них не работал):

1)
    <iframe src="http://localhost:54351/Box/19"></iframe>

    public PartialViewResult Box(int id)
    {
        return PartialView(GetBox(id));
    }

Результат: простой текст (строка), лист CSS отсутствует и код JavaScript не работает

====================================

2)

    <iframe src="@{ Html.RenderPartial("~/Views/Box.cshtml", @Model); }"></iframe>

Результат: Очевидно, это не работает, внутри фрейма ничего не отображается

В первом решении мне было интересно, возможно ли вернуть, может быть, объект RazorView (или что-то еще), у которого будет рабочий код JavaScript и лист CSS. Есть идеи?

Ответы [ 2 ]

9 голосов
/ 15 апреля 2011

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

    public ActionResult Box(int id)
    {
        return View(GetBox(id));
    }
6 голосов
/ 15 апреля 2011

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

iframe отображает всю веб-страницу, а не только частичную, внутри другой веб-страницы.У iframe должен быть полный URL-адрес, отличный от текущей страницы (если бы это была одна и та же страница, он попытался бы визуализировать iframe внутри себя снова и снова, создавая бесконечный цикл).

Что вынужно указать URL другого действия, которое возвращает полный вид.Если вы визуализируете частичное представление, тег <head> отсутствует, и, следовательно, теги сценария обычно не связаны с тегом заголовка.без <link> тегов, без заголовка и т.д ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...