Sharepoint 2010 EventReceiver для добавления SPFolder
У меня есть библиотека документов, в которую мы добавили пользовательский тип содержимого папки, чтобы сохранить владельца папки в настраиваемом поле.
Теперь меня просят установить значение по умолчанию формы "Добавить новый" для владельца родительской папки. Я попробовал этот код ниже, но событие запускается после сохранения новой папки. Может ли кто-нибудь, пожалуйста, помогите мне? Как я могу установить это значение по умолчанию перед открытием формы?
public override void ItemAdding(SPItemEventProperties properties)
{
SPSecurity.RunWithElevatedPrivileges(delegate()
{
try
{
this.EventFiringEnabled = false;
base.ItemAdding(properties);
if (properties.List.RootFolder.Name == "Documents")
{
SPWeb web = properties.List.ParentWeb;
SPList List = properties.List;
SPField fld = List.Fields["Folder Owner"];
SPUser usr = web.CurrentUser;
SPFieldUserValue curUser = new SPFieldUserValue();
curUser.LookupId = usr.ID;
SPFolder parentFolder = web.GetFolder(properties.AfterUrl.Substring(0,properties.AfterUrl.LastIndexOf("/")));
if (parentFolder.Item["Folder Owner"] == null)
{
fld.DefaultValue = curUser.ToString();
}
else
{
fld.DefaultValue = parentFolder.Item["Folder Owner"].ToString();
}
fld.Update();
List.Update();
}
}
catch (Exception)
{
}
finally
{
this.EventFiringEnabled = true;
}
});
}