看代码:
private void SetListReadOnly(bool isReadOnly,String _listID, String _listVersion) { if (string.IsNullOrEmpty(_listID) || string.IsNullOrEmpty(_listVersion)) this.InitListInfo(); string updateFields = @"<Fields> <Method ID='1'> <Field ID='{{28cf69c5-fa48-462a-b5cd-27b6f9d2bd5f}}' ColName='tp_Modified' RowOrdinal='0' ReadOnly='{0}' Type='DateTime' Name='Modified' DisplayName='Modified' StorageTZ='TRUE' SourceID='http://schemas.microsoft.com/sharepoint/v3' StaticName='Modified' FromBaseType='TRUE' Version='4' ShowInListSettings='FALSE' ShowInNewForm='FALSE' ShowInEditForm='FALSE' /> </Method> <Method ID='2'> <Field ID='{{8c06beca-0777-48f7-91c7-6da68bc07b69}}' ColName='tp_Created' RowOrdinal='0' ReadOnly='{0}' Type='DateTime' Name='Created' DisplayName='Created' StorageTZ='TRUE' SourceID='http://schemas.microsoft.com/sharepoint/v3' StaticName='Created' FromBaseType='TRUE' Version='4' ShowInListSettings='FALSE' ShowInNewForm='FALSE' ShowInEditForm='FALSE' /> </Method> </Fields>"; updateFields = string.Format(updateFields, isReadOnly.ToString()); XmlDocument doc = new XmlDocument(); doc.LoadXml(updateFields); XElement result = XElement.Parse(_ws.UpdateList( _listID, null, null, doc.DocumentElement, null, _listVersion).OuterXml); _listVersion = result.Elements().Where(el => el.Name.LocalName == "ListProperties").First().Attribute("Version").Value; }