Sharepoint 2010 无法从C中的工作流任务更新列表项#
我没有得到任何异常,但下面的代码根本不起作用。有什么想法吗Sharepoint 2010 无法从C中的工作流任务更新列表项#,sharepoint-2010,state-machine,Sharepoint 2010,State Machine,我没有得到任何异常,但下面的代码根本不起作用。有什么想法吗 SPSecurity.RunWithElevatedPrivileges(delegate() { using (SPWeb web = this.workflowProperties.Web) { try { SPListItem item = web.Lists["NewHireFormsLibrary"].Items[workflowProperties.
SPSecurity.RunWithElevatedPrivileges(delegate() {
using (SPWeb web = this.workflowProperties.Web) {
try {
SPListItem item = web.Lists["NewHireFormsLibrary"].Items[workflowProperties.ItemId - 1];
item["Field 1"] = "Gotcha!!!";
item.Update();
LogHistory("Information", "Workflow indexing complete. " + item["Field 1"], "");
}
catch (Exception ex) {
LogHistory("Error", ex.Message, ex.StackTrace);
}
}
)};
看起来您并不是通过字段的内部名称引用字段,这就是使用
SPListItem
的索引器访问字段时必须引用字段的方式。试试像这样的东西
item["Field_x0020_1"] = "Gotcha!!!";
它应该会起作用。请注意,内部名称从不包含空格,而是用上面的十六进制字符串替换。我将尝试使用它,但如何确定内部名称是什么?实际上,它不起作用。它是一个infopath表单文档库是否重要?我通常只编写一个快速应用程序来循环给定列表项的所有字段,并打印出SPField.InternalName。或者,您可以获取每个字段ID(Guid),并使用该ID而不是内部名称。您的infopath字段的内部名称可能有某种前缀或前缀(尽管我对infopath集成不是很熟悉,所以我不能确定)。SharePoint Manager()会显示内部字段名称以及更多内容。好的,只是更新。如果我将项目应用于非infopath字段,则此操作有效。如何更新infopath字段?