SharePoint 開発は初めてで、Sharepoint リボンの動作を変更しようとしています。ご存知のように、リボンは他の何か (リスト アイテムなど) がフォーカスされると、自動的に適切なタブまたはタブ グループ (リスト ツール タブ グループなど) に切り替わります。
この絶え間ないタブの切り替えを無効にして、ユーザーが別のタブを明示的にクリックしない限り、ブラウズ タブを常にアクティブなタブにしたいと思います。
Usercontrol の Page_Load() で次のことを試みましたが、ページが最初に読み込まれたときに一度だけ機能します。私は何を間違っていますか?さらに重要なことは、どうすればそれを正しく行うことができるでしょうか?
基本的に、コンテキストが変更されてリボンが切り替わったときに発生するイベントと、このイベントに接続してリボンをブラウズ タブに強制的に戻す方法を誰かが教えてくれることを願っています。
protected void Page_Load()
{
string showBrowseTabScript = string.Empty;
showBrowseTabScript = @"
function ShowBrowseTab() {
var ribbon = SP.Ribbon.PageManager.get_instance().get_ribbon();
SelectRibbonTab(""Ribbon.Read"", true);
}
SP.SOD.executeOrDelayUntilScriptLoaded(function() {
var pm = SP.Ribbon.PageManager.get_instance();
pm.add_ribbonInited(function() {
ShowBrowseTab();
});
var ribbon = null;
try
{
ribbon = pm.get_ribbon();
}
catch (e) { }
if (!ribbon) {
if (typeof(_ribbonStartInit) == ""function"")
_ribbonStartInit(_ribbon.initialTabId, false, null);
}
else {
ShowBrowseTab();
}
},
""sp.ribbon.js"");
";
this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "BrowseTabScript", showBrowseTabScript, true);
}