Я попытался преобразовать элемент Детского элемента Umbraco в PartialView, но я хочу, чтобы он возвращался как строка, а не как частичный вид.Как отредактировать частичный вид на строку
Я много читал на форумах, и у меня появились ошибки, когда я пытаюсь использовать эти примеры.
У меня есть несколько разных шаблонов, которые я хочу получить от контроллера, когда пользователь попадает на сайт. каждые несколько часов, я имею в виду, один раз в несколько часов, чтобы проверить через Ajax, если есть новые предметы за это время. ajax работает правильно.
Я получаю сообщение об ошибке «Ссылка на объект не установлена в экземпляр объекта». и я действительно не знаю, что такое ошибка, это модель? это частичное имя? что не так? или как заставить его работать.
Вот мой код
foreach (dynamic item in rangeTime.Children)
{
var docType = item.ContentType.Alias;
var partialViewToShow = docType.ToString().Trim().ToLower().Replace(" ", "") == "birthday" ? "BDay" : "ContentPage";
st.Append(string.Format("<div class=\"custom-item\" data-time-to-show=\"{0}\">", item.slideTime));
st.Append(RenderPartialViewToString(partialViewToShow, item));
st.Append("</div>");
}
называющий к этой функции: (обязательно на "viewResult.View.Render (ViewContext, ЕО);")
protected string RenderPartialViewToString(string viewName, object model)
{
if (string.IsNullOrEmpty(viewName))
viewName = ControllerContext.RouteData.GetRequiredString("action");
ViewData.Model = model;
using (StringWriter sw = new StringWriter())
{
ViewEngineResult viewResult = ViewEngines.Engines.FindPartialView(ControllerContext, viewName);
ViewContext viewContext = new ViewContext(ControllerContext, viewResult.View, ViewData, TempData, sw);
viewResult.View.Render(viewContext, sw); // FAIL HERE
return sw.GetStringBuilder().ToString();
}
}
Какие ошибки вы получаете, когда это не удается на 'viewResult.View.Render (viewContext, sw);'? – bowserm
Привет @bowserm, Это ошибка, я получаю: «Исключение типа„System.Web.HttpCompileException“произошло в System.Web.dll, но не был обработан в пользовательском коде Дополнительная информация: Внешний компонент выброшено исключение «. – Idoshhh
Похоже, что ошибка в частичном представлении, а не в коде, который вы вставили выше? Можете ли вы сообщить, что происходит внутри PartialView, который вы пытаетесь сделать? Возможно, в качестве теста просто попробуйте бросить этот PartialView на страницу вместо того, чтобы делать причудливую строчную работу, чтобы увидеть, правильно ли она отображается. Я предполагаю, что он не может скомпилировать бритву в вашем PartialView. – bowserm