Подтвердить что ты не робот

Преобразование PartialView в HTML

Мне просто интересно, можно ли конвертировать

PartialView("_Product", model)

до html, чтобы мы могли отправить его с помощью JSON?

return Json(result, JsonRequestBehavior.AllowGet);
4b9b3361

Ответ 1

Абсолютно, поместите следующий метод в общий контроллер или вспомогательный класс. Он вернет визуализированный вид в HTML, использование самообучающего:

public static string RenderViewToString(ControllerContext context, string viewName, object model)
    {
        if (string.IsNullOrEmpty(viewName))
            viewName = context.RouteData.GetRequiredString("action");

        var viewData = new ViewDataDictionary(model);

        using (var sw = new StringWriter())
        {
            var viewResult = ViewEngines.Engines.FindPartialView(context, viewName);
            var viewContext = new ViewContext(context, viewResult.View, viewData, new TempDataDictionary(), sw);
            viewResult.View.Render(viewContext, sw);

            return sw.GetStringBuilder().ToString();
        }
    }

Ответ 2

Я не знаю, лучше ли это или нет, но если вы оставите его как есть

return PartialView("_Product", model)

то u назвал метод, используя ajax

$.ajax ({
  type: "POST",
        url: _url,
        data: _data,
        success: function (result) {
            // the result is the returned html from the partial view
        }
})