我正在尝试使用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}的孩子}。
答案 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);