2008-10-02 1 views
2

Sitecore에서 새 항목을 만든 다음 해당 항목에 컨텐츠 편집기를 여는 응용 프로그램이 있습니다.로드가 잘되지만 html 편집기를 열 때마다 'NullReferenceException'이 표시됩니다. 이것은이 방법으로 응용 프로그램을 시작할 때만 발생합니다.코드에서 코드 실행

소스 코드 :

[Serializable] 
public class PushToCMS : Command 
{ 
    public override void Execute(CommandContext context) 
    { 
     //Context.ClientPage.Start(this, "Action_PushToCMS"); 

     Database dbCore = Sitecore.Configuration.Factory.GetDatabase("core"); 
     Item contentEditor = dbCore.GetItem(new ID("{7EADA46B-11E2-4EC1-8C44-BE75784FF105}")); 

     Database dbMaster = Sitecore.Configuration.Factory.GetDatabase("master"); 
     DatabaseEngines engine = new DatabaseEngines(dbMaster); 

     Item parentItem = dbMaster.GetItem("/sitecore/content/Home/Events/Parent/"); 

     // Load existing related item if it exists 
     Event evt = new Event(new Guid(HttpContext.Current.Items["id"].ToString())); 
     Item item = dbMaster.SelectSingleItem("/sitecore/content/Home/Events/Parent/Item"); 

     if (item == null) 
      item = CreateNewEvent(engine.DataEngine, parentItem, evt); 

     Sitecore.Text.UrlString parameters = new Sitecore.Text.UrlString(); 
     parameters.Add("id", item.ID.ToString()); 
     parameters.Add("fo", item.ID.ToString()); 
     Sitecore.Shell.Framework.Windows.RunApplication(contentEditor, contentEditor.Appearance.Icon, contentEditor.DisplayName, parameters.ToString()); 
    } 

내가 두 가지 방법 중 로딩에 말할 수있는 유일한 차이점은 그러나 나는이 정의되는 위치 잘 모릅니다 또는 내가 그것을 제어하는 ​​방법, HTML 편집기에 URL입니다 .

정상적인 방법을 통해 출시 : 이 http://xxxx/sitecore/shell/default.aspx?xmlcontrol=RichTextEditor&da=core&id=%7bDD4372AC-5D37-4C9E-BBFA-C4E3E2A27722%7d&ed=F27055570&vs&la=en&fld=%7b60D10DBB-7CD5-4341-A960-C7AB10347A2C%7d&so&di=0&hdl=H27055699&us=%7b83D34C8A-4CC4-4CD9-A209-600D51B26AAE%7d&mo

RunApplication를 통해 출시 : 이것에 http://xxxx/layouts/xmlcontrol.aspx?xmlcontrol=RichTextEditor&da=core&id=%7bDD4372AC-5D37-4C9E-BBFA-C4E3E2A27722%7d&ed=F27055196&vs&la=en&fld=%7b60D10DBB-7CD5-4341-A960-C7AB10347A2C%7d&so&di=0&hdl=H27055325&us=%7b83D34C8A-4CC4-4CD9-A209-600D51B26AAE%7d&mo

어떤 도움을 크게 감상 할 수있다.

답변

2

필,

너무 늦게 답변을하지 않으면 ... :) 그것은 당신이 핵심 데이터베이스를 읽을 수있는 권한이없는이 코드를 실행하는 경우를 수 있습니다. 이 경우 contentEditor를 호출하려고 할 때. 너는 NullReference를 얻을 것이다. 이 방법으로 문제가 해결되지 않으면, 당신이 얻을 예외의 스택 트레이스를 첨부 해주세요

Sitecore.Shell.Framework.Windows.RunApplication("Content Editor", parameters.ToString()); 

: 다른 방법을 사용 - 나는 응용 프로그램을 실행하는 또 다른 형식을 사용하여 당신을 추천 할 것입니다.

희망이 도움이됩니다.