多分誰かが同じ問題を抱えていて、私を助けてくれるかもしれません。私は、SharePointソリューションの一部であるページで使用されるユーザーコントロール(マークアップ)でDateTimeControlを使用しています。SharePoint 2010 - DateTimeControlスタイル上の問題
一部の環境では、DateTimeControlスタイリングが壊れて表示されます。ただし、既定のサイトとタスクリストを使用すると、同じコントロールのスタイルがうまく機能します。
苦しい環境でページのHTML出力を確認すると、CSSスタイルシートがページにリンクされていないようです。私はディレクトリをチェックし、ファイルは存在する。
[編集 - 詳細情報]
日付ピッカー、ポップアップカレンダーが一般的にそうように参照、IFRAME内に表示されます。
_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スタイルシートへのリンクに注目してください。
<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>
お知らせミッシングリンク:しかし、HTML出力のヘッド部には、そのように見えることを、いくつかの環境で起こっていますか?私はSharePointのインストールを修復しようとしましたが、残念です。私は成功していないDateTimeControl.ApplyStyleSheetSkinメソッドを使用しています。
タスクリストのDateTimeControlが影響を受ける環境で正しく動作するため、これは必要なものでなければなりません。
任意のアイデア
作業中のページと使用していないページで、結果として表示されるユーザーコントロールのHTMLセクションは同じですか?もしそうなら、問題はただCSSが両方からも参照されていることを確認することです。 –