Добавление в список sharepoint 2010 программно

#vb.net #list #sharepoint #caml

#vb.net #Список #sharepoint #caml

Вопрос:

Я пытаюсь создать новый элемент в списке sharepoint. Не получаю никаких сообщений об ошибках, но элемент не отображается в списке.

Вот мой код:

  'Declare and initialize Lists Web service.
        Dim listService As New Lists()

        'Authenticate 
        listService.Credentials = System.Net.CredentialCache.DefaultCredentials

        'Set the Url property of the service for the path to a subsite.
        listService.Url = "http://site/subsite/_vti_bin/lists.asmx"

        'Get Name attribute values (GUIDs) for list and view. 
        Dim ndListView As System.Xml.XmlNode = listService.GetListAndView(listguid, "")
        Dim strListID As String = ndListView.ChildNodes(0).Attributes("Name").Value
        Dim strViewID As String = ndListView.ChildNodes(1).Attributes("Name").Value

        'Create an XmlDocument object and construct a Batch element and its 
        'attributes. Empty string as view means use the default view. 
        Dim doc As New System.Xml.XmlDocument()
        Dim batchElement As System.Xml.XmlElement = doc.CreateElement("Batch")
        batchElement.SetAttribute("OnError", "Continue")
        batchElement.SetAttribute("ListVersion", "1")
        batchElement.SetAttribute("ViewName", strViewID)

        'Specify methods for the batch post using CAML.
        'Command id 1 = new
        batchElement.InnerXml = "<Method ID='1' Cmd='New'>"  
                 "<Field Name='Title'>test</Field>"  
                 "<Field Name='AssignedTo'>Phil</Field>"  
                 "<Field Name='Status'>Active</Field>"  
                 "<Field Name='Priority'>Low</Field>"  
                 "<Field Name='Comment'>test</Field>"  
                 "<Field Name='Category'>test</Field>"  
                 "<Field Name='DueDate'>9/27/2011 12:00 AM</Field>"  
                 "<Field Name='RelatedIssues'></Field>"  
                 "<Field Name='V3Comments'>test</Field>"  
                 "<Field Name='NameAndSurname'>test test</Field>"  
                 "<Field Name='StudentNo'>209203003</Field>"  
                 "<Field Name='Account'>accounts</Field>"  
                 "<Field Name='Author'>Phil</Field>"  
                 "<Field Name='Complaints'>Complaints</Field>"  
                 "<Field Name='Edited'>Phil</Field></Method>"
        Try
            listService.UpdateListItems(strListID, batchElement)
            LabelStatus.Text = "Call Escalated to sharepoint, ok."
        Catch ex As Exception
            LabelStatus.Text = ex.ToString
        End Try
  

Может кто-нибудь указать, где я ошибаюсь

Приветствую, Фил.

Ответ №1:

Сначала попробуйте добавить:

   <Field Name='ID'>New</Field>
  

Кроме того, я бы предложил удалить другие поля, кроме заголовка. А затем начните добавлять их обратно, когда у вас будет успех. Есть две причины:

  1. вы хотите убедиться, что имена ваших полей указаны правильно
  2. типы, не являющиеся значениями, такие как пользователи или поисковые запросы (например, все эти Fils), могут нуждаться в форматировании в ID;#Name стиле, а не в простом тексте.

Ответ №2:

Создайте список SharePoint программно на C #.

Добавьте поле поиска для нашего вновь созданного списка.

Это пример кода.

 public void createList()
{
     // choose your site
   SPSite site = new SPSite("http://merdev-moss:5050");
   SPWeb web = site.OpenWeb();
   SPListCollection lists = web.Lists;
     // create new Generic list called "My List"
   lists.Add("My List", "My list Description", SPListTemplateType.GenericList); 
   SPList newList = web.Lists["My List"];

 }
  

или попробуйте использовать эту ссылку
http://devendra-sharepoint.blogspot.com/2012/01/creating-list-programatically-in_30.html