-2

DNN 7.4.2 2SXC 8.8.0

Hey there,

Long time fan. The newest version is amazing. Everyone is loving the interface. :D

I'm wondering if you can help me with a problem I've struggled with for a while now. I don't think it's related to the module version but perhaps my C# template.

When I have a listing (like a Board of Directors, for example), whenever I add the first item, my c# razor template throws an error because I haven't defined @ListContent.Title yet. But I can't edit the title without adding multiple items first. So my problem (and my workaround) looks like this:

  1. I add the Content module to the page
  2. I select my Content Type (People) and my template (Board of Directors)
  3. It gives me the message that I have no demo item and then I click the blue edit pencil to start my first one
  4. Once I click the edit icon, the modal appears and I add my first person (board member) and click save.
  5. The module throws an error because the List Header Title has not been defined yet.
  6. I have to remove (or comment out) anything related to @ListContent in my template so that the error disappears.
  7. I then add a second item so that I can actually view the list and, in turn, get to List Header.
  8. I edit List Header to fill in the Title and save it.
  9. Then I go back to my template and put the @ListContent.Title and @ListContent.Toolbar portion back in and save.

It's a lot of roundabout steps and I'm wondering how can I avoid this issue? I've tried putting in conditional statements around the @ListContent.Title value (and other @ListContent values) but it doesn't fix the problem. I still have to completely remove it until it actually becomes a list (by adding at least a second item). This problem happens on all of my lists (templates with List Enabled).

Here is the error that appears:

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 ...

I initially posted this in the issues on the codeplex site but I see that I should have added it here. You can download the attachment here: https://sexycontent.codeplex.com/workitem/1971

Praveen Kumar Purushothaman
  • 164,888
  • 24
  • 203
  • 252

1 Answers1

0

You're making life too complicated :).

Basically each template can be configured to use a demo-item in the list-header, just like the demo-item in the normal list. This should provide the template with real data, even if no header was ever entered.

:)

iJungleBoy
  • 5,325
  • 1
  • 9
  • 21