N2 NullReferenceException для "Html.DroppableZone (" h1 "). Render ()" - PullRequest
1 голос
/ 29 марта 2011

В настоящее время я оцениваю N2 CMS для использования на нескольких веб-сайтах.

Мы бы хотели предложить нашим клиентам только функцию перетаскивания, что означает, что они могут добавлять части в зоны на странице, заполнятьих, и перетащите их вокруг.Функциональность «бэкенда» зоны управления будет зарезервирована для разработчиков.

Поэтому я не использую элемент управления SlidingCurtain для рендеринга.Прямо сейчас я создал пользовательскую панель администратора, которая появляется, когда пользователь с правильной ролью вошел в систему. Обычно скользящий занавес добавляет строку запроса «? Edit = drag» в ваш URL, когда вы нажимаете на функцию «перетаскивания».кнопку, поэтому я добавляю эту строку запроса автоматически после входа в систему.

Если я это сделаю, я получу исключение NullReferenceException для следующей строки: Html.DroppableZone ("H1"). Render ();

На данный момент в этой DroppableZone еще нет частей, и я полагаю, что именно это вызывает эту проблему.Как мне обойти это?

У меня есть следующий H1Controller:

namespace EmptyCMS.Controllers
{
    [Controls(typeof(Models.H1))]
    public class H1Controller : ContentController<Models.H1>
    {
        public override ActionResult Index()
        {
            return PartialView("H1", CurrentItem);
        }
    }
}

И следующее частичное представление:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Models.H1>" %>

 <h1><%= Model.Text %></h1>

И это моя модель:

namespace EmptyCMS.Models
{
    [PartDefinition("H1")]
    [AllowedZones("H1")]
    public class H1 : ContentItem
    {
        [EditableTextBox("Text", 100)]
        public virtual string Text { get; set; }
    }
}

Кто-нибудь может заметить, что я делаю не так?Большое спасибо за любую помощь, вы можете дать мне.

1 Ответ

0 голосов
/ 29 марта 2011

Просто проверить на ноль?

var zone = Html.DroppableZone("H1");
if(zone != null)
    zone.Render();
...