Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# “上的N2 NullReferenceException”;Html.DroppableZone(“h1”).Render();_C#_Asp.net_Asp.net Mvc_N2_N2cms - Fatal编程技术网

C# “上的N2 NullReferenceException”;Html.DroppableZone(“h1”).Render();

C# “上的N2 NullReferenceException”;Html.DroppableZone(“h1”).Render();,c#,asp.net,asp.net-mvc,n2,n2cms,C#,Asp.net,Asp.net Mvc,N2,N2cms,我目前正在评估多个网站使用的N2 CMS 我们只想为我们的客户提供“拖动”功能,这意味着他们可以将部分添加到页面上的区域中,填写它们,并将它们四处拖动。管理区的“后端”功能将保留给开发人员 因此,我不使用Slideng窗帘控件进行渲染。现在,我已经创建了一个自定义管理面板,当具有正确角色的用户登录时会显示该面板。通常,当您单击“拖动”功能按钮时,滑动帘会在URL中添加一个“edit=drag”查询字符串,因此我会在登录后自动添加此查询字符串 如果我这样做,我会得到一个NullReferenceE

我目前正在评估多个网站使用的N2 CMS

我们只想为我们的客户提供“拖动”功能,这意味着他们可以将部分添加到页面上的区域中,填写它们,并将它们四处拖动。管理区的“后端”功能将保留给开发人员

因此,我不使用Slideng窗帘控件进行渲染。现在,我已经创建了一个自定义管理面板,当具有正确角色的用户登录时会显示该面板。通常,当您单击“拖动”功能按钮时,滑动帘会在URL中添加一个“edit=drag”查询字符串,因此我会在登录后自动添加此查询字符串

如果我这样做,我会得到一个NullReferenceException到以下行: Html.DroppableZone(“H1”).Render()

到目前为止,这个DroppableZone上还没有任何部件,我想这就是造成这个问题的原因。我该怎么做

我有以下资料:

namespace EmptyCMS.Controllers
{
    [Controls(typeof(Models.H1))]
    public class H1Controller : ContentController<Models.H1>
    {
        public override ActionResult Index()
        {
            return PartialView("H1", CurrentItem);
        }
    }
}
谁能看出我做错了什么?非常感谢您能给我的任何帮助。

请检查是否为空

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

这就产生了完全相同的问题。然后在“zone.Render()”行上抛出NullReferenceException。您是否有其他想法?这意味着NRE被抛出到
Render
方法中。在这里,我无法进一步帮助您,因为我不知道asp.net MVC或N2。它可以帮助您从他们的源代码中获取N2源代码,并在其构建的基础上运行,这样您就可以逐步了解它到底出了什么问题。对不起,我自己从来没有用过这些区域,谢谢。继续:我认为如果一个区域内没有任何部分,那么代码似乎与该区域有问题。但我猜这不可能是对的。
namespace EmptyCMS.Models
{
    [PartDefinition("H1")]
    [AllowedZones("H1")]
    public class H1 : ContentItem
    {
        [EditableTextBox("Text", 100)]
        public virtual string Text { get; set; }
    }
}
var zone = Html.DroppableZone("H1");
if(zone != null)
    zone.Render();