Как быстро и просто программным способом назначить для списка свои формы, лежащие в _layouts? Для этого нужно взять у списка нужный тип содержимого и подменить часть XML в его определении. Для примера возьмём первый попавшийся тип содержимого и назначим ему формы просмотра и редактирования:
var ct = list.ContentTypes[0]; string ns = "http://schemas.microsoft.com/sharepoint/v3/contenttype/forms/url"; var xml = new System.Xml.XmlDocument(); xml.LoadXml( "<FormUrls xmlns=\"" + ns + "\">" + "<Display>_layouts/MyDisplayForm.aspx</Display>" + "<Edit>_layouts/MyEditForm.aspx</Edit>" + "</FormUrls>"); ct.XmlDocuments.Delete(ns); ct.XmlDocuments.Add(xml); ct.Update();
а чо, SPContentType.NewFormUrl, DisplayFormUrl и т.д. - не пашут разве? :)
ОтветитьУдалитьДа пашут, конечно. Но я же, как обычно, их сначала не заметил. А когда заметил, решил не удалять этот пост, пущай висит :) Надо бы мне к окулисту сходить, что-то в последнее время элементарных вещей не замечаю.
Удалить