Как поместить частичное представление в div в JavaScript (с помощью jQuery)

У меня есть,MyPartialView.cshtml':

<div id="partialDiv">some content</div> 

index.cshtml:

<div id="mainDiv"> </div>

и "index.js".

'I ndex.js' должен выглядеть примерно так:

$('mainDiv').html($('#partialDiv'))

поставить частичный вид в основной раздел.

(пишу @<text> <div> @Html.Partial("MyPartialView")</div></text>) по моему.cshtml работает, но мне нужно динамически менять содержимое. Поэтому я подумал, что, может быть, в JavaScript есть эквивалент дляHtml.Partial'

(Или есть другой способ получить частичное представление без вызова AJAX)

2 ответа

Решение

@Html.Partial("MyPartialView") используется только для визуализации одного файла частичного просмотра (также с @Html.RenderPartial()). Вы можете использовать AJAX для вызова действия контроллера, которое возвращает частичное представление:

AJAX Запрос

$.ajax({
    type: 'GET',
    url: '@Url.Action("ActionName", "ControllerName")',
    // other settings
    success: function (result) {
        $('mainDiv').html(result);
    }
});

Действие контроллера

[HttpGet]
public ActionResult ActionName()
{
    // do something
    return PartialView("MyPartialView");
}

Обратите внимание, что в JS нет эквивалента вызова частичного представления, потому что вам нужно сделать запрос к серверу, который не может быть просто обработан стандартными функциями JS.

cshtml файлы сто на стороне сервера. Вы не можете загрузить его, используя только JavaScript. идеальный способ - использовать Ajax, вызывая Action, который возвращает ваше частичное представление

Другие вопросы по тегам