如何通过csom向字段添加选项

时间:2014-05-22 13:38:53

标签: c# sharepoint csom

我正在尝试使用Office AMS核心解决方案创建具有可能值的选择字段。

名称不能以'<'开头字符,十六进制值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");        
}

我检查了Office AMS核心解决方案中生成的XML,我发现Choices XML会尝试将其附加到<Field>内,而不是<Field> {{3}的孩子}。

1 个答案:

答案 0 :(得分: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);