2016-08-31 57 views
0

充液值我有實體領域的「標籤」,允許多個值,如果我對這個字段創建默認值的方法:2sxc:多個實體類型

[{使用實體-GUID},{ENTITY2-GUID} ]當我用這個字段創建新對象時,一切正常。

,但如果我想使用預填充新的對象,而不是使用默認值,becouse它依賴於一些其他的邏輯,就像這樣:

@Edit.Toolbar(actions: "new", contentType: "Doc", prefill: new { Tags = Content.Tags[0].EntityGuid }) 

而且工作確定,但如果我想要多個預填充值有是一個問題。

當嘗試這種方式:

@Edit.Toolbar(actions: "new", contentType: "Doc", prefill: new { Tags = [{Content.Tags[0].EntityGuid},{Content.Tags[1].EntityGuid]} }) 

我得到錯誤:

Error: System.Web.HttpCompileException (0x80004005): c:\DevFolder\DNN\dev.dnn.temp\httpdocs\Portals\0\2sxc\nn-doc\_DocList.cshtml(9): error CS1525: Invalid expression term '[' at System.Web.Compilation.AssemblyBuilder.Compile() at System.Web.Compilation.BuildProvidersCompiler.PerformBuild() at System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) at System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound) at System.Web.Compilation.BuildManager.GetCompiledType(VirtualPath virtualPath) at ToSic.SexyContent.Engines.RazorEngine.CreateWebPageInstance() in C:\Projects\2SexyContent\Web\DesktopModules\ToSIC_SexyContent\2Sexy Content Razor\RazorEngine.cs:line 81 at ToSic.SexyContent.Engines.RazorEngine.InitWebpage() in C:\Projects\2SexyContent\Web\DesktopModules\ToSIC_SexyContent\2Sexy Content Razor\RazorEngine.cs:line 110 at ToSic.SexyContent.Engines.RazorEngine.Init() in C:\Projects\2SexyContent\Web\DesktopModules\ToSIC_SexyContent\2Sexy Content Razor\RazorEngine.cs:line 27 at ToSic.SexyContent.Engines.EngineBase.Init(Template template, App app, ModuleInfo hostingModule, IDataSource dataSource, InstancePurposes instancePurposes, SxcInstance sexy) in C:\Projects\2SexyContent\Web\DesktopModules\ToSIC_SexyContent\SexyContent\Engines\EngineBase.cs:line 60 at ToSic.SexyContent.SxcInstance.GetRenderingEngine(InstancePurposes renderingPurpose) in C:\Projects\2SexyContent\Web\DesktopModules\ToSIC_SexyContent\SexyContent\SxcInstance.cs:line 244 at ToSic.SexyContent.SxcInstance.Render() in C:\Projects\2SexyContent\Web\DesktopModules\ToSIC_SexyContent\SexyContent\SxcInstance.cs:line 200 

這是一個真正的錯誤,或者是我做錯了嗎?

+0

我相信,截至今天--2sxc 8.5 - 這是從未測試或實施。你可以運行一些測試,看看JS方面是否會支持這個(所以如果它只是服務器端需要更正)或者如果兩個層都沒有準備好呢? – iJungleBoy

回答

1

我檢查了你的情況,發現它已經被支持。我認爲你只是在標記中構建字符串數組做了一些錯誤。這是一個可行的解決方案:

@Edit.Toolbar(actions: "new", 
contentType: "BlogPost", 
prefill: new { Tags = new string[] { 
    "08387a10-1aac-494a-9eb5-1383e31490eb", 
    "b498a694-047a-4e51-a285-50f9a64edda1" 
} })