SharePoint笔记以编程方式编写错误

时间:2012-12-19 08:17:36

标签: c# list sharepoint

我的问题涉及以编程方式写入“Note”类型的Sharepoint列表字段。从现场阅读很简单。

//Retrieving the list row
SPListItem baseItem = baseList.GetItemById(itemId) as SPListItem;  

string value = Convert.ToString(baseItem["NameOfTheNoteField"]); 

但后来我尝试写一个Note字段;

SPListItem item ...;
item["NameOfTheNoteField"] = "MyValue";

导致以下错误:

  

价值不在预期范围内......

如果不是字符串,Note字段会有什么期望!?

1 个答案:

答案 0 :(得分:1)

您实际上不应将其视为 Note 字段,而是SPMultiLineText字段。

要更新它,您首先需要获取当前值并对其进行编辑 - 除了Convert.ToString()GetFieldValueAsHtml之外,您也不应该使用GetFieldValueAsText。 最终,您设置价值的方式应该有效。 Value does not fall within the expected range也可能来自其他地方 - 例如您没有使用该字段的正确名称,因此item["NameofNoteField"]抛出错误。尝试调试它。

举例并更新字段中的当前文字:

SPListItem baseItem = baseList.GetItemById(itemId) as SPListItem;
SPFieldMultiLineText mlfield = baseItem.Fields.GetField("NameOfTheNoteField") as SPFieldMultiLineText;
string fieldtext = multilineField.GetFieldValueAsHtml(item["NameOfTheNoteField"], baseItem );
//or use GetFieldValueAsText
fieldtext += "I am the update of the text";
baseItem ["NameOfTheNoteField"] = fieldtext;
baseItem.Update()