Гость
Форумы / SharePoint [игнор отключен] [закрыт для гостей] / Почему не удаётся обновить значение поля? / 3 сообщений из 3, страница 1 из 1
17.03.2016, 15:19
    #39194496
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему не удаётся обновить значение поля?
Доброго времени суток.

Не получается программно изменить значение поля (выбор из списка) для добавленного файла. Вместо назначаемого мною значения по прежнему вижу то, которое изначально указано в качестве default value. В чём причина?

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
using Microsoft.SharePoint;
using System;
using System.IO;

namespace SharePoint2013_sandbox {
    internal static class Example {
        // I have some site for learning
        const String sitePath = "http://sharepoint2013/sites/sandbox2";
        // The Id of the field that is used by uploaded files
        static readonly Guid fieldId = new Guid(
            "{126801d9-c5c7-48a5-ab82-5ef48a76f934}");
        internal static void WorkWithFields() {

            if (!SPSite.Exists(new Uri(sitePath))) {
                Console.WriteLine("The {0} site not found.", sitePath);
            }
            else {
                using (SPSite siteCollection = new SPSite(sitePath)) {
                    using (SPWeb site = siteCollection.OpenWeb()) {

                        SPFieldChoice fldProjCode = site.Fields[fieldId]
                            as SPFieldChoice;

                        SPList list = site.Lists["Some document collection"];
                        using (FileStream fs = new FileStream(
                            @"C:\Public\Data\Drawing1.dwg",
                            FileMode.Open, FileAccess.Read, FileShare.Read)) {
                            SPFile file = list.RootFolder.Files.Add(
                                "Drawing1.dwg", fs, true);

                            // Now I set the value for the field of the file...
                            String fldValue = fldProjCode.Choices[1];
                            file.Item[fldProjCode.Id] = fldValue;

                            file.Update();
                        }
                        site.Update(); // But field value of my file wasn't updated.
                    }
                }
            }
            Console.WriteLine("Press any key for exit...");
            Console.ReadKey();
        }
    }
}



Спасибо.
...
Рейтинг: 0 / 0
17.03.2016, 15:32
    #39194524
Compositum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему не удаётся обновить значение поля?
Compositum,

Вопрос снят. Перед строкой
Код: c#
1.
file.Update();

добавил такую
Код: c#
1.
file.ListItemAllFields.Update();

Теперь содержимое поля обновляется в соответствии с заданным значением.
...
Рейтинг: 0 / 0
18.03.2016, 11:14
    #39195165
chel_2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему не удаётся обновить значение поля?
Compositum,

Собственно вы не обновляете Item. Список лучше получать через GUID или Url. Их гораздо сложнее изменить. Не то что List Title.
...
Рейтинг: 0 / 0
Форумы / SharePoint [игнор отключен] [закрыт для гостей] / Почему не удаётся обновить значение поля? / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]