私のページのヘッダーのコントロールを委任コントロールに追加する2つのSharePoint機能がそれぞれ同じように実装されています(下記参照)。コントロールの1つは他のものに依存します(1つはjQueryライブラリ、もう1つはjQueryに依存します)。ただし、コントロールがレンダリングされると、コントロールの順序が正しくありません。これらのコントロールがレンダリングされる順序を指定するにはどうすればよいですか?SharePoint DelegateControlレンダリング注文
制御(両方は、それらが異なる.jsファイルを参照することを除いて、同一である):
<%@ Control ClassName="MyScriptControl" %>
<script type="text/javascript" src="/_layouts/MyScript.js"></script>
は、Feature.xml:
<?xml version="1.0" encoding="utf-8" ?>
<Feature Id="AA9D59AC-D53E-4338-9B52-CD39F2A8C31A"
ActivateOnDefault="true"
Title="My Feature"
Description="Does something."
Scope="Site" Version="1.0.0.0"
Hidden="FALSE"
DefaultResourceFile="core"
xmlns="http://schemas.microsoft.com/sharepoint/">
<ElementManifests>
<ElementManifest Location="MyFeature\Elements.xml" />
</ElementManifests>
</Feature>
Elements.xml:
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/"
Id="24A4BB9A-9636-4a73-B3A5-35661DE19902">
<Control Id="AdditionalPageHead"
ControlSrc="~/_controltemplates/MyControl.ascx" />
</Elements>
ページの出力(jQueryはDependsOnjQueryの前にデプロイされています):
<script type="text/javascript" src="/_layouts/DependsOnjQuery.js"></script>
<script type="text/javascript" src="/_layouts/jQuery.min.js"></script>
MyControl2.jsの前にMyControl1.jsをレンダリングします。
これは私が最初に思ったものですが、これを試してみると、順序は変わりません。 –