확인 ... Sitecore 지원의 도움 후, 나는 마침내이 질문에 대한 답을 가지고있다. Page Editor가 필드의 새 값을 가져 오려면 Sitecore.WebEdit.setFieldValue() javascript 함수를 호출해야합니다. 이렇게하면 Save 또는 Save/Close 버튼을 클릭 할 때 PageEditor가 읽는 숨겨진 입력 필드가 생성됩니다.
//RenderItem is the item in question, DropListField is the string name of
//the target Droplist field we want rendered
string itemID = RenderItem.ID.ToShortID().ToString();
string fieldID = RenderItem.Fields[DropListField].ID.ToShortID().ToString();
string language = RenderItem.Language.ToString();
string version = RenderItem.Version.ToString();
string revision = RenderItem[FieldIDs.Revision].Replace("-", string.Empty);
ddlList.Attributes.Add("onchange", string.Format("var ddl = getElementById('{5}');var itemURI = new Sitecore.ItemUri('{0}','{1}','{2}','{3}');Sitecore.WebEdit.setFieldValue(itemURI,'{4}',ddl.options[ddl.selectedIndex].value);",itemID,language,version,revision,fieldID,ddlList.ClientID));
그래서, 기본적으로 우리는 단지이 Sitecore JS 함수를 호출있는 DropDownList에 대한 핸들러 onchange를 클라이언트 측을 추가합니다. 참고 :
Sitecore 6.2이 필요하다고 생각합니다.
불행히도, 이것은 내가 원하는 것의 정반대입니다. 내 항목에 대한 Droplist 필드를 편집 할 때 asp : DropDownList를 표시하려고합니다. 이렇게하면 사용자는 페이지 편집기를 종료하지 않고도 컨텐츠 편집기에서와 같이 드롭 다운에서 새 값을 선택할 수 있습니다. – Bryan