問題タブ [mvcsitemapprovider]
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.
provider - web.sitemap を使用する MvcSitemap プロバイダー
Telerik ツリービュー レンダリングに使用するサイトマップがあります。同じサイトマップを Mvcsitemap プロバイダーのパンくず機能に使用したいと考えています。サイトマップ ノードはこれらの両方で異なるため、2 つのサイト マップ (telek 用と mvcsitemap プロバイダー用) を維持する必要がないように、mvcsitemap プロバイダー xsd を操作したいと考えています。xsd を微調整しようとしましたが、パンくずが機能しません。助けてください
asp.net-mvc-3 - MVC3ナビゲーションとブレッドクラム-データ駆動型
ナビゲーションとブレッドクラムに関するいくつかの投稿を見ましたが、exaxtと同じ問題は見つかりませんでした。ただし、ある場合はご容赦ください。ありがとうございました。
私の場合 :
階層はデータベースに保存されます。エントリポイントのインタレストとプロファイルは固定されています。そこから私は子供たちがどうなるかわかりません。
子がもう残っていない場合、最後に選択された(サブ)カテゴリの値に基づいて本が取得されます。
ここで2つの問題があります。1つ目:適切なルートを作成する。私が望む方法は次のとおりです。
ここで、interestareanameはユーザーフレンドリーなURLに追加され、階層を下る限り繰り返され続けます。その場合、出力は次のようになります。/ books / 1 / project-management / prince2 / books / 1これは、ページングされたリストページのページ1にあるprince2の本を示しています。
ただし、レベルが1つしかない場合、ルートにはinterestareanameが1つしかないため、次のようになります。
問題番号1を解決するために私がしたこと:
最大レベルを設定する必要があると述べて、これに到達しました。それは私がそれをよりダイナミックにする方法を知らなかったからです。
ここでの問題は、関心カテゴリとプロファイルカテゴリを区別することです。同じルートを作成しましたが、名前を変えて、サイトマップの作成にルート名を追加しました。
私が抱えている2番目の問題は、サイトマップとブレッドクラムです。MVCsitemapproviderとDynamicNodes機能を使用しています。
サイトマップでは、詳細ページの表示に問題があります。なぜなら、本はプロフィールと興味の両方に表示されるからです。また、一部の本は複数の関心分野またはプロファイルに表示されます。いずれの場合も、その本にたどり着くまでの道のりを見たいと思います。
まず、各本の詳細ページをサイトマップに追加しましたが、それはおかしなことでした。また、サイトマップではうまく処理されない重複エントリを作成します。他のオプションは、クエリ文字列でリストページのルートデータを詳細ページに渡すことでしたが、それはひどく見えたので、クエリ文字列を解析してブレッドクラムを模倣するロジックを追加する必要があります。最低レベルの。
私は今何夜も過ごしましたが、それでも理解できません。誰かが私を助けたり正しい方向に向けたりしてくれるなら、私はとても感謝しています。
asp.net-mvc-3 - ImageUrl DynamicNodeProviderBase の使用に関する問題
どうやら、タイトルはImageUrlの値を取ります
私の DynamicNodeProviderBase クラスでは、Title
と の両方を構成します。ImageUrl
DynamicNodeProviderBase
意見
私の見解では、ヘルパーを呼び出して、私のページのメニューを生成します。このメニューは DisplayTemplates によってカスタマイズされます
@Html.MvcSiteMap().Menu("sitemap-menu", true, true, false)
表示テンプレート
基本的に、 用の DisplayTemplates と 用の DisplayTemplates がMenuHelperModel
ありSiteMapNodeModel
ます。MenuHelperModel
非常に単純なため (カスタム テンプレートを渡してヘルパーを呼び出すだけです) @DisplayFor
、ここにコードを配置しません。
次のコードSiteMapNodeModel
しかし、値は正しくありません (または交換されます)。デバッグの画像を参照してください。
デバッグ
全体像は
こちら
注: 赤字の説明は間違っています: 正しい: Title 値は ImageUrl プロパティにある必要があります!
質問
プロパティの値ImageUrl
が Title で、なぜTItle
空なのですか?
codeigniter - CodeIgniter によってコーディングされたサイトのすべての URL を取得する
url、lastmod、priority 値が指定されたときに sitemap.xml を生成するサイトマップ ジェネレーター コントローラーがあります。しかし、どうすれば自分のサイトのすべての URL を動的に取得できますか? サイトはCIを使用して構築されています。
助けてください?
asp.net-mvc - MVC3 MvcSiteMap()
私はMVC3レイザービューを使用しています。MvcSitemapProviderdllバージョン3.1.0.0
これを@Html.MvcSiteMap().SiteMap()
razorviewで使用すると、次のエラーメッセージが表示されます。
次の名前空間を登録しました:
両方のweb.configファイル(ルートおよびビューweb.config)。
他に確認する必要があるものはありますか?
c# - 複数の MvcSiteMap の使用
私は最近、MvcSiteMapProviderを使用しようとして障害にぶつかりました。
私のアプリケーションには、ランディング、アプリケーション、および管理という 3 つの異なる領域があります。私は現在 MvcSiteMapProvider を実装しており、驚くほど機能しますが、私が今やろうとしているのは、Html MvcSiteMap ヘルパーを使用して、自分がいる地域に応じて別のマップ プロバイダーを指定することです。
だから、私がいるとき:
- 「管理者」エリアでは、「AdminSiteMapProvider」という名前のプロバイダーを使用したいと考えています。
- 「アプリケーション」領域では、「AppSiteMapProvider」という名前のプロバイダーを使用したいと考えています。
私は次のことを試しました:
共有 -> _AppLayout.cshtml
共有 -> _Menu.cshtml
}
助言がありますか?_AppLayout.cshtml コンテンツを 1 つの領域だけのために新しいマスターにコピー/貼り付けする必要はありません。適切なプロバイダーを動的に選択したいのです。
c# - MvcSiteMapProvider を使用して Mvc.sitemap からノードの URL を取得する方法
「キー」などの属性を使用して Mvc.sitemap ファイルから URL を取得したいですか? ヘルパーから呼び出したい。mvcsitemap クラスを使用してファイルからノードを取得して URL を生成する方法がわかりません。前もって感謝します!
asp.net-mvc - MvcSiteMapProviderの保存されたルートパラメータで「サイトマップノードのURLを解決できませんでした」というエラーが発生します
メニューを作成するためにMVCサイトマッププロバイダーを使用して、.NetMVC3でプロジェクトに取り組んでいます。
一部のメニューノードは、特定のルートパラメータ(meetingId)が設定されている場合にのみ表示されます。以下の例を参照してください。
MeetingIdパラメーターはnull許容でないintであり、デフォルト値はありません。このパラメータは、会議に関する情報を参照するときに設定されます。
パラメータが設定されていないページをロードすると、エラーがスローされます。
コントローラMeetingAttendantsのアクションインデックスを表すサイトマップノードAttendantsのURLを解決できませんでした。このサイトマップノードのルートを解決できることと、そのデフォルト値で現在のサイトマップノードのURLを解決できることを確認してください。
ルートをマッピングするときにデフォルト値を設定しようとしましたが、問題は解決しました。しかし、デフォルト値を設定せずにこの問題を解決する方法はありますか(デフォルト値はないはずです)?
asp.net-mvc-4 - MvcSiteMap プロバイダーのカスタム属性
私のファイルMvc.sitemap
には、次のノードがあります。
Web.config
attributesToIgnore="visibility, classesCustomizadas"
満杯..
ファイル「SiteMapNodeModel.cshtml」を編集して、次のように作業できるようにしました。
ファイルで構成されたクラスMvc.sitemap
を属性で取得しclassesCustomizadas
て置換する方法 (>>>> Classes here <<<<<)?