我向UpdateListItems提交更新。它返回成功,但列表项没有更新。关于如何追踪出现问题的任何建议?
以下是生成的XML:
<Batch OnError='Continue' ListVersion='1' ViewName=''>
<Method ID='1' Cmd='Update'>
<Field Name='ID'>11707</Field>
<Field Name='Business_x0020_Area'>Consumer</Field>
<Field Name='Team'>6;#IT Support</Field>
<Field Name='Job_x0020_Number'>TEMP</Field>
<Field Name='Media_x0020_Outlet2'>13;#BBC Parliament</Field>
<Field Name='Publication_x0020_Date'>2009-09-01 14:40:10</Field>
<Field Name='Narrative2'></Field>
<Field Name='Page_x0020_Number'>1</Field>
<Field Name='Media_x0020_Value'></Field>
<Field Name='Information_x0020_Only'>0</Field>
<Field Name='Date_x0020_Added'></Field>
</Method>
</Batch>
更新
我在U2U中遇到的错误是
0x81020014未正确安装一个或多个字段类型。转到列表设置页面以删除这些字段。
答案 0 :(得分:2)
我在CAML中有一个不在数据库中的内部字段。这导致它绊倒。
答案 1 :(得分:1)
我的第一个建议是保留字段名称,例如“业务区域”而不是“Business_x0020_Area”。我知道当你查找列表xml文件时,字段名称就像那样显示。第二个建议是关于你的日期字段。确保您的日期构建正确。日期字段格式为YYYY-MM-DDTHH:MM:SSZ。 T和Z很重要。我希望它有所帮助。
答案 2 :(得分:0)
401表示您未登录,或者您登录的用户对该列表没有权限。验证用户“正在执行”批处理脚本是否可以登录到站点并对列表进行更改。
答案 3 :(得分:0)
我为这个日期做了类似的事情
public DateTime dateForSp(string s)
{
string[] sd = s.Split('/');
string[] yd = sd[2].Split(' ');
string[] hd = yd[1].Split(':');
DateTime dt = new DateTime(Int32.Parse(yd[0]),
Int32.Parse(sd[0]),
Int32.Parse(sd[1]),
Int32.Parse(hd[0]),
Int32.Parse(hd[1]),
Int32.Parse(hd[2]));
return dt;
}
并在代码中
"<Field Name='SubmissionTime'>" + String.Format("{0:u}", dateForSp(this.rProperty["SubmissionTime"])) + "</Field>"