Как зарегистрировать таблицу стилей на главной странице в веб-части - PullRequest
0 голосов
/ 04 января 2010

Как мне зарегистрировать таблицу стилей на главной странице в веб-части SharePoint. Другими словами, как мне добавить ссылку CSS на главную страницу во время выполнения, и код, который делает это, присутствует в пользовательской веб-части.

Я не хочу менять главную страницу напрямую.

Я не мог видеть в API ничего (this.Page.Master), которое бы мне помогло.

Спасибо за вашу помощь.

Ответы [ 3 ]

3 голосов
/ 04 января 2010

То, что вы ищете, довольно сложно достичь, потому что вам придется:

  • получить разметку главной страницы
  • включить в программно с помощью регулярных выражений
  • снова отправить измененную разметку обратно на сервер

Я бы посоветовал вам обойти, чего легче достичь: используйте базовый класс для всех ваших веб-частей и добавьте в эту часть следующий код:

Microsoft.SharePoint.WebControls.CssRegistration.Register("/.../mystyles.css")

Я понимаю, что это немного навязчиво, но это избавило бы вас от трудностей отладки.

Manitra.

2 голосов
/ 04 января 2010

Стандартные главные страницы sharepoint имеют следующий заполнитель в разделе head:

<asp:ContentPlaceHolder id="PlaceHolderAdditionalPageHead" runat="server"/>

В вашей веб-части вы могли бы:

var placeholder= Page.FindControl("PlaceHolderAdditionalPageHead");
var cssLink = new Literal();
cssLink.Text = "<link .... />";
placeholder.Controls.Add(cssLink);
0 голосов
/ 04 января 2010

Существует класс HTMLLink, который можно использовать для динамического добавления ссылки на страницу CSS на главную страницу.

Смотрите здесь: http://msdn.microsoft.com/en-us/library/system.web.ui.htmlcontrols.htmllink.aspx

Если вы хотите сделать это из своей веб-части, я думаю, вам понадобится ссылка на родителя.

...