Возможно, у кого-то была такая же проблема и она может мне помочь. Я использую DateTimeControl в пользовательском элементе управления (разметке), который, в свою очередь, используется на странице, которая является частью решения SharePoint.SharePoint 2010 - Проблемы с установкой DateTimeControl
В некоторых условиях стиль DateTimeControl выглядит сломанным. Однако, используя сайт по умолчанию и список задач, стилизация одного и того же элемента управления отлично работает.
Проверка вывода HTML-страницы на зараженной среде, похоже, что таблица стилей CSS не связана со страницей. Я проверил каталоги и файлы существуют.
[Edit - Подробнее]
Дата выбора всплывающего календаря появляется внутри фрейма, обычно ссылаются как так:
_layouts/iframe.aspx?&cal=1&lcid=1033&langid=1033&ww=0111110&fdow=0&fwoy=0&hj=0&swn=False&minjday=109207&maxjday=2666269&date=11%2F22%2F2010
Разметка фактического файла выглядит так:
<%@ Assembly Name="Microsoft.SharePoint.ApplicationPages" %> <%@ Page Language="C#" Inherits="Microsoft.SharePoint.ApplicationPages.DatePickerFrame" %> <%@ Import Namespace="Microsoft.SharePoint.ApplicationPages" %> <%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Import Namespace="Microsoft.SharePoint" %> <%@ Assembly Name="Microsoft.Web.CommandUI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <% SPSite spServer = SPControl.GetContextSite(Context); SPWeb spWeb = SPControl.GetContextWeb(Context); %>
<html dir="<SharePoint:EncodedLiteral runat='server' text='<%$Resources:wss,multipages_direction_dir_value%>' EncodeMethod='HtmlEncode'/>">
<head>
<meta name="GENERATOR" content="Microsoft SharePoint" />
<SharePoint:CssLink runat="server"/>
<script type="text/javascript" src="./DatePicker.js"></script>
<title>Date Picker</title>
</head>
<body onload="PositionFrame('DatePickerDiv');" onkeydown="OnKeyDown(event);" style="margin:0;">
<SharePoint:SPDatePickerControl id="DatePickerWebCustomControl" runat="server" >
</SharePoint:SPDatePickerControl>
</body>
</html>
Правильный выход будет включать головную секцию, подобную этой:
<head>
<meta name="GENERATOR" content="Microsoft SharePoint" />
<link rel="stylesheet" type="text/css" href="/_layouts/1033/styles/Themable/datepickerv4.css?rev=Hu9OlQmu1YOXv7TK%2BQrc5Q%3D%3D"/>
<link rel="stylesheet" type="text/css" href="/_layouts/1033/styles/Themable/corev4.css?rev=iIikGkMuXBs8CWzKDAyjsQ%3D%3D"/>
<script type="text/javascript" src="./DatePicker.js"></script>
<title>Date Picker</title>
</head>
Обратите внимание на ссылку на таблицу стилей datepickerv4.css? Тем не менее, это произошло в некоторых средах, что головная часть в выходной HTML, выглядит так:
<head>
<meta name="GENERATOR" content="Microsoft SharePoint" />
<link rel="stylesheet" type="text/css" href="/_layouts/1033/styles/Themable/corev4.css?rev=iIikGkMuXBs8CWzKDAyjsQ%3D%3D"/>
<script type="text/javascript" src="./DatePicker.js"></script>
<title>Date Picker</title>
</head>
Обратите внимание на недостающее звено? Я попытался восстановить установку SharePoint, но, увы. Я использовал метод DateTimeControl.ApplyStyleSheetSkin без успеха.
Это должно быть что-то, что мне нужно сделать, потому что списки задач в TimeTimeControl ведут себя корректно в затронутых средах.
Любые идеи
Является ли итоговый раздел HTML вашего пользователя одинаковым для страниц, которые работают, и страниц, которые нет? Если это так, то проблема заключается в том, чтобы убедиться, что CSS также ссылается на обоих. –