2014-05-22 93 views
1

我正在嘗試使用Office AMS核心解決方案創建具有可能值的選項字段。如何通過csom向字段添加選項

名稱不能以'<'字符開頭,十六進制值爲0x3C。 1號線位置133

我使用的代碼是:

if (!ctx.Web.FieldExistsByName("Rating")) 
{ 
    string xmlChoices = @"<CHOICES> 
         <CHOICE>5</CHOICE> 
         <CHOICE>4</CHOICE> 
         <CHOICE>3</CHOICE> 
         <CHOICE>2</CHOICE> 
         <CHOICE>1</CHOICE> 
         </CHOICES>"; 
    ctx.Web.CreateField(fieldIdRating, "Rating", FieldType.Choice, "Rating", "Knowledge Transfer Fields", additionalXmlAttributes:xmlChoices); 

    Field ratingField= ctx.Web.Fields.GetByInternalNameOrTitle("Rating");   
} 

我考察辦公室AMS核心解決方案內部產生的XML,我發現選擇XML從而將其嘗試添加它裏面的<Field>,而不是孩子的<Field>as it should be

回答

2

我發現這裏本例中使用 'AddFieldAsXML'

來源:http://sneakydev.blogspot.com/2013/05/using-c-csom-to-interact-with.html

Field catField = list.Fields.AddFieldAsXml(@" 
      <Field Type='Choice' DisplayName='Category' Format='Dropdown'> 
       <Default>IT</Default> 
       <CHOICES> 
        <CHOICE>IT</CHOICE> 
        <CHOICE>Sales</CHOICE> 
       </CHOICES> 
</Field>", true, AddFieldOptions.DefaultValue); 
相關問題