当ListContent Title为null

时间:2016-12-16 19:56:00

标签: c# razor 2sxc

DNN 7.4.2 2SXC 8.8.0

嘿那里,

长时间的粉丝。最新版本令人惊叹。每个人都喜欢这个界面。 :d

我想知道你是否可以帮我解决一段时间以来我一直在努力解决的问题。我不认为它与模块版本有关,但可能与我的C#模板有关。

当我有一个列表(例如董事会)时,每当我添加第一个项目时,我的c#razor模板都会抛出错误,因为我还没有定义@ ListContent.Title。但是,如果不先添加多个项目,我就无法编辑标题。所以我的问题(和我的解决方法)看起来像这样:

  1. 我将内容模块添加到页面
  2. 我选择了我的内容类型(人物)和我的模板(董事会)
  3. 它给我的消息是我没有演示项目,然后我点击蓝色编辑铅笔开始我的第一个
  4. 点击编辑图标后,会出现模态并添加我的第一个人(董事会成员),然后点击保存。
  5. 模块因为尚未定义列表标题标题而抛出错误。
  6. 我必须在模板中删除(或注释掉)与@ListContent相关的任何内容,以便错误消失。
  7. 然后我添加第二个项目,以便我可以实际查看列表,然后转到列表标题。
  8. 我编辑列表标题以填写标题并保存。
  9. 然后我回到我的模板并将@ ListContent.Title和@ ListContent.Toolbar部分重新放入并保存。
  10. 这是很多迂回的步骤,我想知道如何避免这个问题?我已经尝试在@ ListContent.Title值(以及其他@ListContent值)周围添加条件语句,但它不能解决问题。我仍然必须完全删除它,直到它实际上成为一个列表(通过添加至少第二项)。我的所有列表(启用了List的模板)都会出现此问题。

    出现以下错误:

      

    There was an error while rendering the template: Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: Cannot perform runtime binding on a null reference at CallSite.Target(Closure , CallSite , Object ) at System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,TRet](CallSite site, T0 arg0) at CallSite.Target(Closure , CallSite , Object ) at ASP._Page_Portals_0_2sxc_Content__Board_of_Directors_cshtml.Execute() in d:\home\site\wwwroot\Portals\0\2sxc\Content\_Board of Directors.cshtml:line 9 at System.Web.WebPages.WebPageBase.ExecutePageHierarchy() at ...

    我最初在codeplex网站上发布了这个问题,但我发现我应该在这里添加它。您可以在此处下载附件:https://sexycontent.codeplex.com/workitem/1971

1 个答案:

答案 0 :(得分:0)

你让生活变得太复杂了:)

基本上每个模板都可以配置为使用list-header中的demo-item,就像普通列表中的demo-item一样。即使没有输入标题,这也应该为模板提供真实数据。

:)