Здравствуйте, может кто-нибудь сказать, пожалуйста, как я могу загрузить PartialView в подготовленный мной контейнер div, расположенный в _Layout.cshtml (который полностью отделен от самой ссылки).Я хочу, чтобы он был загружен в контейнер по щелчку следующей ссылки действия:
<a href="@Url.Action("RenderColorbox", "ContactPartial", new { path = "_ContactPartial" })" class="colorboxLink"><span>ContactUs</span></a>
Я хотел бы сделать это без JavaScript, потому что мне нужно создать модель в моем контроллере и передать ее в PartialView иЯ не думаю, что возможно передать строго типизированную модель представлению, используя javascript.
Если бы я хотел, я мог бы использовать:
$('.colorboxLink').click(function () {
$('.colorbox_container').load(this.href);
});
, но, как я уже говорил, это не дает мне возможности создать и передать строго типизированную модель в частичное представление ... ееважно, чтобы я мог создать и передать модель в представление, потому что я получаю исключение нулевой ссылки, когда я пытаюсь что-то вроде foreach (var item в Model.ItemList) в частичном представлении.
Вот как выглядит мой контроллер:
public virtual ActionResult RenderColorbox(string path)
{
return PartialView(path, null);
}
Однако в настоящее время щелчок по ссылке действия просто отображает PartialView на новой пустой странице, а не в контейнере, который я настроил.
Спасибо всем за помощь.
РЕДАКТИРОВАТЬ: Для загрузки палитры я использовал следующие предложения:
$('.colorboxLink').click(function () {
$('.colorbox_container').load(this.href, function () {
var colorboxOptions = {
inline: true,
scrolling: false,
opacity: ".9",
fixed: true,
onLoad: function () {
$('#cboxContent').css({
"background": "white"
});
$('#cboxLoadedContent').css({
"margin-bottom": "28px",
"height": "558px"
});
}
}
$('#contactColorbox').colorbox(colorboxOptions);
});
Но все равно загружается без палитры, а скорее как всплывающее модальное окно.