問題タブ [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 投票する
0 に答える
356 参照

asp.net - EXT TreePanel で異なるサイト マップを使用する

これは ASP.NET スニペットです。

そして、これはその背後にある C# コードです。

これCreateNodeは、当社の内部メソッドです。私がやりたいことは、次のように、ユーザー設定に応じて異なるサイトマップをロードすることです:

Web.sitemap_1およびファイルに XML のサイトマップがありWeb.sitemap_2ます。の最初の引数CreateNodeSiteMapNodeサイト マップを指すオブジェクトですが、ここにあるのは既定のマップのみを指すものです。コンストラクターを使用してこれを行いたいのですが、XML ファイルの場所である文字列からSiteMapNode Constructor (SiteMapProvider, String)を取得する方法がわかりません。SiteMapProvider

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

c# - エラー XmlSiteMapProvider が存在しません

///これは私の Agent.sitemap です

//この Web.sitemap

//iis からアプリケーションを実行すると、「XmlSiteMapProvider に必要な AGENT.sitemap が存在しません。」というエラーが表示されます。

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

asp.net - 同じURLを持つxmlsitemapprovider複数のノード

グーグルで検索しても答えが得られません。

ご覧のとおり、ここに 2 つの「~/Forms/HSU.aspx」があるため、「同じ URL を持つ複数のノード」という例外が表示されます。

私はそれを解決するために2つの方法を試みましたが、達成できませんでした。暗号化されたクエリ文字列があります。

  1. 「#」を追加します。この「~/Forms/HSU.aspx#?eq=123456789」のように「#」を追加すると、eq が null であるため機能しません。この「~/Forms/HSU.aspx?eq=123456789#」のように「#」を追加すると、SiteMap コントロールが常に最初の HUS.aspx を現在のノードとして検出し、その親ノードが BV1Menu.aspx になるため、機能しません。

  2. ダミーのクエリ文字列を追加します。動作していません。上記の 2 番目と同じ状況です。

URL 書き換えソリューションがあることは知っていますが、クエリ文字列が暗号化されているため、URL を書き換えることはできません。

助けてください。

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

asp.net - ASP NET MVCでカスタムSiteMapProviderを使用するにはどうすればよいですか?

現在、カスタムサイトマッププロバイダーを実装しようとしています。私はそれについていくつかのチュートリアルを読み、彼らの先導に従いました。

MyProject.SecurityにあるMySiteMapProviderという名前のXmlSiteMapProviderのサブクラスを作成しました。

Web.configのsystem.webセクションに次のコードを追加しました。

しかし、私のプロバイダーは正しく使用されていないと確信しています。実装から始めることすらできませんでした。次の(疑似)実装が含まれていることを確認するには:

ただし、サイトを使用して好きなだけナビゲートできます。例外は発生せず、デバッグコンソールにはHelloWorldがまったく表示されません。

重要なことを忘れましたか?

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

asp.net-mvc - ASP.NET MVC SiteMap プロバイダーは任意のリソースを使用できますか?

このページで作成者は、リソースは特別なアプリケーション フォルダ ( App_GlobalResources) にある必要があると書いています。OK、入れました。しかし、私のプロジェクトでは、ビュー/モデル/などのツリーを反映するリソース フォルダーのツリーを使用しています。フォルダ。したがって、ツリー ブランチの各ターミナル フォルダーには、他のリソース ファイルと同じ名前 ("Strings" など) のファイルがあります。この方式は、リソースを相対プロジェクト ファイルに対応させて管理しやすいようです。このようなすべて:

アプリケーション フォルダ ツリー:

リソース フォルダ ツリー:

App_GlobalResourcesただし、この名前の同一性は、フォルダー内のリソース競合のエラーにつながります。リソースファイルごとに異なる名前空間を割り当てても。

からスキームを使用するとApp_GlobalResources、すべてがリソースで正常に動作しますが、MvcSiteMapProvider.

MvcSiteMapProviderでは、別のリソース フォルダを使用できますApp_GlobalResourcesか? MvcSiteMapProviderまたは、リソースを適切に機能させるためにリソースを整理するにはどうすればよいでしょうか。

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

razor - 現在のアクションが Mvc.sitemap ファイルにない場合、MVC サイトマップは空にレンダリングされます

現在のアクションが MVC.sitemap ファイルにリストされていない場合に、サイトマップ コントロールに強制的にメニューを表示させることはできますか?

シンプルなトップナビです。現在のアクションがサイトマップにある場合、 を呼び出すと.Menu()正しい<ul><li>..データがレンダリングされます。ただし、 /Home/Login などのサイトマップにないページに到達した場合、html はまったくレンダリングされません (コメントでさえなく、空のスペースだけです)。これは[authorize]問題ではありません。「/Home/Index」にいるときのメニューは問題ありません。

要求されたものをレンダリングする必要があるようですが、プロパティIsCurrentNodeIsNodeInPathプロパティを設定しないでください。ここに私がかけている電話があります

Mvc.sitemap ファイル:

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

asp.net-mvc - Orchard CMS:カスタムメニューを作成するためのweb.sitemapがありません

私はOrchardCMSから始めて、(少なくとも私にとっては)障害にぶつかりました。

必要なメニュー(インクリメンタル、ドロップダウンなど)を生成するコードがありますが、Orchardでは使用できないweb.sitemapまたはmvc.sitemapを使用しています。

コードで使用できるサイトマップを取得するために使用できる方法/モジュールはありますか?

高度なメニューまたは他のナビゲーションモジュールは、私が必要としているものに似たものを提供しますか?

あるいは、果樹園はこの種のもののAPIを公開していますか?

私の問題は、果樹園を既存のサイトに統合しているので、同じメニューを提供する必要があるということです。私のメニュージェネレーターは「現在のブランチ」上のすべてのアイテムを強調表示するので、ユーザーはナビゲーション階層のどこにあるかについて強力な視覚的手がかりを得ることができます。私が協力しているサイトの1つには精神障害のある人が含まれているため、パンくずリストはオプションではありません。

編集:

たとえば、高度なメニューからその場でサイトマップを構築するモジュールを作成し、それをサイトマッププロバイダー経由で取得することは可能でしょうか?そんなに難しいことではないはずです...

それが正しい道でしょうか?

現在のブランチと現在のノードの視覚的な手がかりを表示するには、メニューが本当に必要です。

ノート:

私のメニューでは、現在のブランチとノードは現在のページのURLからオンザフライで構築されます(現在のブランチは、現在のページからルートまでの階層内のすべてのページで構成されます)。

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

asp.net - ASP.NET で web.sitemap と SiteMapProvider を組み合わせる方法

だから、ここに私が取り組んでいるものがあります。ASP.NET Web アプリを使用しています。このアプリでは、web.sitemap を介して site.master ファイルにサイトマップが表示されます。site.master は次のとおりです。

そして、ここに web.sitemap があります:

さて、ここで私は問題に直面しています。私がやりたいことは、このサイト マップを動的に作成された SiteMapProvider と組み合わせて、このマップのサブツリーにデータを入力することです。たとえば、Projects、Experiments、Cell Line、Drug Recipe の各ノードには、データベースから入力されたサブツリーがあります。どこから探し始めるべきかについての意見や提案はありますか?

要約すると、葉の siteMapNodes を SiteMapProvider に向けたいと思います。

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

c# - カスタム SharePoint 2007 サブサイト ナビゲーション コントロール

SharePoint 2007 Web サイトのサブサイト間のカスタム ナビゲーションを可能にする asp.net UserControl を作成するように依頼されました。サイトは、さまざまなクラスのグループを持つ学期を持つ学校の構造を模倣しています。以下は、サイト構造の簡略版です。

UserControl は、クラスの .aspx ページに配置されます。その目的は、ユーザーが異なるクラス グループ間で同一のページに移動できるようにすることです。

EG たとえば、私が Semester1/Class Group 1/Class 1/Page2.aspx にいるとしましょう。UserControl を使用すると、Semester1 の他のクラスを選択できます。選択すると、[選択したクラス]/Page2.aspx に自動的に移動します (現在 Page2.aspx を使用しているため)。

今日まで、私は SiteMapProvider を使用したことがありません。これまでのところ、サイト構造をプログラムで調べ、デフォルトの CombinedNavSiteMapProvider PortalSiteMapProvider を使用して簡単なサイト マップをページに出力することしかできませんでした。必要だと思うのですが、どうすればよいかわかりません:

  • ルート ノードが現在のページの親学期である部分的なサイト マップ データ構造を取得/構築します。これは、必要に応じて、コードに組み込まれた独自のデータ構造にすることができます。これをメニューコントロールにバインドしたい。さらに、ルート メニュー項目には、Semester1 の代わりに「クラスの変更」のようなカスタム テキストが必要です。

そこから、メニュー イベントを使用してナビゲーションを処理できると思います。Semester1/Class Group 1/Class 1/Page2.aspx にいる場合の UserControl のメニューの例:

上記の箇条書きの項目を達成するにはどうすればよいですか?

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

c# - sitemapdatasource は OnDataBinding を呼び出しませんか?

web.sitemapイベントを使用してエントリをフィルタリングしたいのですがOnDataBinding、実行されません。ユーザーの役割が特定の機能にアクセスできるかどうかを確認できる機能が必要です。

関数のリストとリンクテーブルを含むテーブルを作成して、権限を構築しました。管理者が新しいロールを追加できるようにして、IsInRole を使用するのではなく、許可されている一連の機能を提供します。

そこで、以下を追加しました。

SiteMap は web.config エントリの場所:

それMainMenu_DataBindingは呼ばれていないようです。適切な説明が見つかりませんでした。コードの何が問題になっていますか?