OK ... Sitecoreサポートの助けを借りて、ようやくこの質問に対する答えが得られました。ページエディタがフィールドの新しい値を取得するには、Sitecore.WebEdit.setFieldValue()javascript関数を呼び出す必要があります。これにより、非表示の入力フィールドが作成され、[保存]または[保存/閉じる]ボタンがクリックされたときに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));
したがって、基本的には、このSitecorejs関数を呼び出すDropDownListのクライアント側のonchangeハンドラーを追加するだけです。注:これにはSitecore6.2が必要だと思います。