Создание набора документов программно в sharepoint 2010 - PullRequest
0 голосов
/ 03 июня 2011

Я создаю набор документов программно по событию щелчка по кнопке

 public void btnCreateDocumentSet_Click(object sender, EventArgs e)
    {
        try
        {

            lblError.Text = string.Empty;
            SPSecurity.RunWithElevatedPrivileges(() =>
                {
                    using (web = SPControl.GetContextSite(Context).RootWeb)
                    {
                        web.AllowUnsafeUpdates = true;
                        String url = web.Lists[" Tracker"].RootFolder.ServerRelativeUrl.ToString();

                        SPList list = web.Lists["Tracker"];

                        Hashtable props = new Hashtable();

                        props.Add("Number", "item1");
                        props.Add("Type", "item2");

                        DocumentSet ds = DocumentSet.Create(list.RootFolder, "NewDocumentSet3", web.ContentTypes["MydocumentSet2"].Id, props, true);
                        //test   


                        //web.Dispose(); 

                    }
                }
            );

        }

        catch (SPException ex)
        {

            lblError.Text = ex.Message; 
        }

    }

Я не получаю никаких исключений. При нажатии кнопки я перенаправлен на ошибку, подобную следующей

enter image description here

Однако набор документов с именем NewDocumentSet3 создается в библиотеке документов, но выглядит как папка (я имею в виду значок). когда я захожу в библиотеку документов-> вкладка документы-> Новый документ, я не получаю тип набора документов. Пожалуйста, сообщите мне об этом. Заранее спасибо

Ответы [ 2 ]

1 голос
/ 15 ноября 2012

Попробуйте добавить

props.Add("HTML_x0020_File_x0020_Type", "SharePoint.DocumentSet");  

в хэш-набор свойств, который жест передал методу DocumentSet.Create.

1 голос
/ 07 июня 2011
  1. Прежде всего, отключите пользовательские ошибки, как показано на скриншотах.
  2. Затем замените ваш улов SPException на улов всех исключений.
  3. Еще лучше, тестируйте код, подобный этому, в отдельном консольном приложении, а не прямо в обработчиках.
  4. Просмотрите некоторые ресурсы в Интернете о том, как отлаживать приложения SharePoint.Точка останова продвинет вас далеко в этой конкретной ситуации.
  5. Я очень настороженно отношусь к вашему списку под названием "[space] Tracker".Выглядит подозрительно для меня.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...