C# “上的N2 NullReferenceException”;Html.DroppableZone(“h1”).Render();
我目前正在评估多个网站使用的N2 CMS 我们只想为我们的客户提供“拖动”功能,这意味着他们可以将部分添加到页面上的区域中,填写它们,并将它们四处拖动。管理区的“后端”功能将保留给开发人员 因此,我不使用Slideng窗帘控件进行渲染。现在,我已经创建了一个自定义管理面板,当具有正确角色的用户登录时会显示该面板。通常,当您单击“拖动”功能按钮时,滑动帘会在URL中添加一个“edit=drag”查询字符串,因此我会在登录后自动添加此查询字符串 如果我这样做,我会得到一个NullReferenceException到以下行: Html.DroppableZone(“H1”).Render() 到目前为止,这个DroppableZone上还没有任何部件,我想这就是造成这个问题的原因。我该怎么做 我有以下资料: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
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();