이상한 문제가 발생하여 모든 조언이 필요합니다. 나는 Umbraco 4.11.10을 사용하고 따옴표 모음에서 무작위 따옴표를 1 개 표시하는 요구 사항을 충족하려고합니다. 정말 놀랍게도이 정확한 코드는 Umbraco의 동일한 버전을 사용하는 다른 사이트에서 작동한다는 것입니다.
Quote 객체에는 quoteText와 quoteSignature의 두 가지 속성 만 있습니다. 여기에 내 전체 면도기 스크립트 (현재 실패)가 있습니다. Umbraco 면도기 - 어린이 Children.Random을 사용하여 스크립트가 실패합니다.
@inherits umbraco.MacroEngines.DynamicNodeContext
@{
var item = @Model.NodeById(1113).Children.Random();
<div>
<blockquote>@item.quoteText<span>- @item.quoteSignature</span></blockquote>
</div>
}
내가 그 사업부 및 블록 인용 모든을 제거하고 그냥 계속 실패
var item = @Model.NodeById(1113).Children.Random();
두면.
Random()을 제거하고 @item 변수를 출력하면 DynamicNodeList가됩니다. 내가 뭔가를 작동
foreach(var child in item)
{
<div>
<blockquote>@child.quoteText<span>- @child.quoteSignature</span></blockquote>
</div>
}
같은 뭔가를 .. 경우에, 그러나 물론 나는 따옴표를 모두 얻을. 적어도 데이터가 유효 함을 증명하고 속성 이름이 유효하다는 것을 알았습니다. 그냥 Random()을 사용하여 문제가되는 것 같습니다. 내가 면도기에 꽤 새로운 것에 따라 나는 이것이 나의 일부 위에서 단지 감시다고 희망하고있다.
2013-09-03 19:34:00,142 [11] WARN umbraco.macro - [Thread 24] Error loading MacroEngine script (file: CFRandomQuote.cshtml, Type: ''. Exception: Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: 'umbraco.MacroEngines.DynamicNodeList' does not contain a definition for 'Random'
at CallSite.Target(Closure , CallSite , Object , Int32)
at System.Dynamic.UpdateDelegates.UpdateAndExecute2[T0,T1,TRet](CallSite site, T0 arg0, T1 arg1)
at ASP._Page_macroScripts_CFRandomQuote_cshtml.Execute() in c:\inetpub\cf\macroScripts\CFRandomQuote.cshtml:line 5
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
at System.Web.WebPages.WebPage.ExecutePageHierarchy()
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
at umbraco.MacroEngines.RazorMacroEngine.ExecuteRazor(MacroModel macro, INode currentPage)
at umbraco.MacroEngines.RazorMacroEngine.Execute(MacroModel macro, INode currentPage)
at umbraco.macro.loadMacroScript(MacroModel macro)
at umbraco.macro.renderMacro(Hashtable pageElements, Int32 pageId)
감사합니다 모든 사람을 다음과 같이
* UPDATE *이 오류 로그에서 오류입니다!
'@ item.'이 아닌 코드에서'@ child.quoteText' 등이되어야합니까? – Digbyswift
예 - 복사 붙여 넣기 오류입니다. 스 니펫 업데이트 - 감사합니다! – hardba11
로그 파일의 오류로 질문을 업데이트 할 수 있습니까? 오류가 무엇인지 보여주는 스택 추적이 있어야합니다. 그들은 ~/app_data/logs/ – Digbyswift