問題タブ [sitemapprovider]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
503 参照

asp.net - セキュリティ トリミングが有効になっているとメニューがまったく表示されないのはなぜですか

セキュリティ トリミングが有効になっていると、完全なメニュー システムが表示されません...

次のようにWeb.configでセキュリティトリミングを有効にしました...

私のWeb.sitemapは次のとおりです...

問題がアクセス ルールに関連していると考えて、すべてのアクセス ルールを削除しましたが、これは役に立ちませんでした。基本的に、「セキュリティトリミング」が「True」として有効になっている場合、メニューは表示されませんが、設定を「false」に変更すると、メニュー全体が表示されますが、明らかにトリミングされません。

0 投票する
1 に答える
2112 参照

sharepoint - aspmenu で DataSourceID を変更できません

私の英語でごめんなさい。カスタム プロバイダーを配置しようとしていますが、SiteMapDataSource プロバイダーに記述しても何も変わりません。彼の ID を変更し、それに応じて DataSourceID ページでその属性を変更すると、そうではないというエラーが発生します。彼は TopSiteMap ID を覚えていて、それ以外をコンパイルしたくありません。


プロバイダーは Web 構成に登録されており、他のサイト コレクションは正常に機能しています。しかし、これにはバグがありました。

説明されているマスター ページ メニューの場合:

例外をスローします:

System.Web.HttpException: 'TopNavigationMenuV4' の DataSourceID は、タイプ IHierarchicalDataSource のコントロールの ID でなければなりません。ID「topCrossSiteMap」のコントロールが見つかりませんでした。

ULS では、相関 ID のないレコードを要求する前に 2 ミリ秒で、コンテンツ データベースにアクセスするときに次のエラーが発生します。

PermissionMask チェックに失敗しました。0x00010000 を要求し、0x00000000 を持っています

アクセスが拒否されました。例外: System.UnauthorizedAccessException: アクセスが拒否されました。(HRESULT からの例外: 0x80070005 (E_ACCESSDENIED))
Microsoft.SharePoint.Library.SPRequestInternalClass.GetWebMetainfo (文字列 bstrUrl)
で Microsoft.SharePoint.Library.SPRequest.GetWebMetainfo (文字列 bstrUrl)。

説明されているマスター ページ メニューの場合:

すべてがエラーなしで機能します。しかし、メニューは明らかに SPNavigationProvider を使用しています。

もう 1 つの詳細:サイト コレクションのさまざまな面がさまざまな方法で表示されます。(1 つは他の何も変更されていないエラーをドロップアウトしました) 最初に、オブジェクト http.sys の問題と考えました。WFE サーバーを再起動しようとしました。しかし、それは役に立ちませんでした。

0 投票する
2 に答える
13814 参照

c# - ASP.net ページにブレッドクラムを設定する方法

ページの私のフォルダー階層は次のとおりです (それらはすべて同じフォルダーにあります)。

私はWeb.sitemapページを設定しました:

MasterPage で呼び出しています:

Default.aspx私のランディングページもそうです。ユーザーは をクリックしfind_provider.aspxて、選択したプロバイダーを検索できます。各プロバイダの検索結果について、ユーザーは PROFILE リンクをクリックして、ページである個々のプロバイダの情報を表示できprovider.aspxます。

そう:

  • ホームページにいる場合、パンくずリストは次のようになります。Home
  • プロバイダーの検索ページにいる場合、パンくずリストは次のようになります。Home Provider
  • プロフィール ページを表示している場合、パンくずリストは次のようになります。Home Provider Profile

代わりに、自分のページに次のように表示されます (現在のページに関係なく)。

サイトノードとサブサイトノードごとにブレッドクラムが表示されるようにコードを修正してください。

私が達成したいことのサンプル:

HTML:

出力:

ここに画像の説明を入力

0 投票する
1 に答える
319 参照

asp.net-mvc - MVC サイトマップの問題

MVC サイトマップで奇妙な問題に直面しています。現在、サイトマップ リンクは最大 3 レベルで、将来変更される可能性があります。問題は、次のレベルにいるときに中間レベルのサイトマップ リンクが機能しないことです (リンクをクリックするとエラーが発生します - Http 403.1 Forbidden)。URL が適切ではないことがわかりました。たとえば、Area と Controller の名前が、見逃したアクション名だけをポップアップ表示するだけです。

例: ホーム>会社>追加

[追加] 画面 (最終レベル) で、[ホーム] をクリックすると、localhost:xxxx/Home/index にリダイレクトされ、正常に動作します。

  • Company をクリックすると、localhost:xxxx/Company/Company にリダイレクトされ、そこから localhost:xxxx/Company/Company/index にリダイレクトされることが期待されます

次のエラーが発生します。

ローカルホスト:xxxx/会社/会社/

HTTP エラー 403.14 - 許可されていません Web サーバーは、このディレクトリの内容を一覧表示しないように構成されています。最も可能性の高い原因: • 要求された URL に対して既定のドキュメントが構成されておらず、ディレクトリの参照がサーバーで有効になっていません。

MVC.Sitemap の詳細は次のとおりです。

0 投票する
0 に答える
128 参照

asp.net - XmlSiteMapProvider は最初のノードのみを解析します

厄介な問題があり、解決策の始まりが見つからないので、助けていただければ幸いです。

各ノードにロールが定義されたサイトマップがあります。

そして、web.config でセキュリティを有効にし、カスタム プロバイダーを使用します。

私のプロバイダーでは、 IsAccessibleToUser をオーバーライドしてロジックを実行するだけです:

私の問題は、 IsAccessibleToUser で使用されるノードが常に「Default.aspx」という URL を持つノードであることです。したがって、それを見る役割がある場合はすべてのノードが表示され、役割がない場合はノードが表示されません。

ここで何が悪いのかわかりません。

ヒントはありますか?

0 投票する
1 に答える
87 参照

c# - SiteMapNode をリストの先頭に移動

私は持っていてSystem.Web.SiteMapProvider、使用してすべてのツリー(ノード)を取得しますproviderSiteMap.RootNode.ChildNodes

からRootNodeの子ノードの場合、最後のノードを(最初のアイテムとして)一番上に移動します。

最後のノード N10 を移動したい:

私はこれを試します:

そして私は試します:

var item = providerSiteMap.RootNode.ChildNodes.Cast().FirstOrDefault(x => x.Key == "9100");

ToList().Count前後同じですRemove(item)

そして私は試します:

実行しようとするとCollection is read-onlyエラーが発生しますproviderSiteMap.RootNode.ChildNodes.Remove(item);

助言がありますか?