我正在使用Umbraco CMS。我有以下型號:如何創建一個繼承UmbracoApiController內的RenderModel的模型實例?
public class LoyaltyPromo : RenderModel
{
public LoyaltyPromo(IPublishedContent content)
: base(content)
{
}
//properties removed for brevity
}
我想用內部UmbracoApiController
這種模式。所以我這樣做:
public class PromoServiceController : UmbracoApiController
{
public async Task<object> GetAll()
{
var umbracoHelper = new UmbracoHelper(UmbracoContext.Current);
IPublishedContent content = umbracoHelper.TypedContent(1050);
var list = new List<LoyaltyPromo>();
list.Add(new LoyaltyPromo(content));
return list;
}
}
遺憾的是它不工作,我得到的NullReferenceException
:發生
錯誤。 未將對象引用設置爲對象的實例。 System.NullReferenceException 在Umbraco.Web.Models.RenderModel..ctor(IPublishedContent 含量)在LoyaltyOps.Models.LoyaltyPromo..ctor(IPublishedContent 含量)在C:\用戶\ mkallingal \文件\視覺工作室 2015 \ Projects \ LoyaltyOps \ LoyaltyOps.Models \ LoyaltyPromo.cs:第13行 C:\ Users \ mkallingal \ documents \ visual studio中的LoyaltyOps.Controllers.PromoServiceController.d__0.MoveNext() 2015 \ Projects \ LoyaltyOps \ LoyaltyOps \控制器\ PromoServiceController.cs:行 32 ---從以前的位置,其中例外是 拋出的堆棧跟蹤結束---在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(T在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification問 任務)(任務 任務)在 System.Threading.Tasks.TaskHelpersExtensions.d__3`1.MoveNext() ---從以前的位置,其中異常堆棧跟蹤的結尾在 System.Web.Http.Controllers.ApiControllerActionInvoker.d__0被扔在--- System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任務 任務)在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任務 任務) .MoveNext() ---拋出異常的先前位置的堆棧跟蹤結束---在 System.Runtime.CompilerServices.Task Awaiter.ThrowForNonSuccess(任務 任務)在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任務 任務)在 System.Web.Http.Controllers.ActionFilterResult.d__2.MoveNext() ---從堆棧跟蹤的結尾以前的位置,其中的例外是在 System.Web.Http.Dispatcher在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification拋出---在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任務 任務)(任務 任務) .HttpControllerDispatcher.d__1.MoveNext()
我該如何解決這個問題?
我想你將需要擴展你的代碼示例,以便我們可以看到LoyaltyPromo.cs:第13行,它表示空引用正在發生? – ProNotion
Hi @ProNotion,第十三行是'public LoyaltyPromo(IPublishedContent content) :base(content) {0123} {{0}}} – Irshu
您正在使用硬編碼的標識符發佈內容節點,例如。 1050.你確定這個ID存在嗎? – Mivaweb