問題タブ [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.

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

asp.net-mvc - MvcSiteMap プロバイダーのセットアップの問題

この投稿に関連して、私はMvcSiteMapプロバイダーを使用しています。私はそれを機能させることができないようです。私がしているのは、ダウンロードによって利用可能になったプロジェクトを開いてコンパイルし、ビルドによって生成された MvcSiteMap.Core.dll を取得して、MVC プロジェクトの Dependencies フォルダーに配置し、参照を右クリックして「参照の追加」を押します。ここから、マスターページで使用しようとしていますが、インテリセンスがそれを認識しておらず、それを使用してビルドしようとしても機能しません。

私は<%=Html.SiteMapPath()%>運なしでやろうとしています。何か案は?

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

asp.net-mvc-2 - ASP.NETMVCの「管理者」アプリケーションのサイトナビゲーション

ASP.NETMVCアプリケーション用に「Admin」というエリアプロジェクトを作成しました。

これには、ユーザーがページを追加/削除できるサイトの管理セクションのすべてのロジックが含まれます。

上部には、ユーザーが管理できるメニューがあります。(例:「コンテンツ」、「ユーザー」など)

これらのそれぞれについて、コントローラー('ContentController'、'UsersController'など)を作成しています。

さまざまなアプローチがあるように思われるので、ナビゲーションをどのように設定するのか疑問に思っています。

1つのアプローチは、MvcSiteMapを使用することです。これには、「。sitemap」ファイルを作成し、「MvcSiteMapNode」属性を使用してコントローラーのアクションを装飾することが含まれます。

上記の問題は、実装が複雑なことです(ASP.NET MVCでのAreaの動作方法のため、特にAreaプロジェクトでは)。それもやり過ぎのようです。

私は別の方法を考え出しました。それは、各コントローラーを独自の属性で装飾することです。次に、リフレクションを使用してすべてのコントローラーをループし、その属性を持つコントローラーを選択してナビゲーションメニューに追加することにより、ナビゲーションをレンダリングするヘルパーメソッドがあります。

上記の方法についてどう思いますか?これを行うさらに簡単な方法を考えられますか?

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

asp.net-mvc - MVCサイトマップをインストールして使用する方法

VS2008のサイトマップはMVCで動作しないため、codeplexでmaartenbaによるMVCサイトマップを見つけました。しかし、これをインストールして使用するにはどうすればよいですか。ダウンロードはサンプルであり、その下にDLLがあります。インストールは途方もなく簡単で、見落とされていると思います。そこで、VBWebサイトでこのパッケージを使用して支援を受けることができるかどうかを確認するためにここを探しています。

http://mvcsitemap.codeplex.com/

補足:おそらく、C#アプリに変換する必要があります...または、C#でコントローラーを書き始めることはできますか?VBよりも楽しんでいます。

ありがとう

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

asp.net-mvc - 効率的なルートと ASP.NET サイトマップを使用して、このナビゲーション シナリオをモデル化する方法は?

次のシナリオをモデル化する必要がありますが、MvcSitemapProvider で動作させることができません (私の問題は、デフォルトの SiteMapProvider にも直接マップされていると思います)。デフォルトのブレッドクラム コントロールを動的データで適切に動作させたいと考えています。

productsグループ化されたリストがありcategoryますparent-category

  • 親カテゴリ
    • カテゴリー
      • 製品

次の URL を使用できるようにしたい:

(1) /Products
(2) /Products/MainCategory
(3) /Products/MainCategory/Category
(4) /Products/MainCategory/Category/Product

明らかに、以下の私の解決策は最適ではありません。

サイトマップのProductsノードには ChildNodes がないため、メニューに表示されません。

メインカテゴリとカテゴリを追加する中間オブジェクトを作成して、メニューに表示されるようにしました。しかし、他のコントロール (ブレッドクラム) は私が /Products にいると言っているだけなので、これは問題を解決しません。

ルートを変更するか、サイトマップの定義を変更する必要がありますか? それとも何か他のものですか?


私は現在、次のものを持っています:

  • 2
    /Products、/Products/MainCategory および /Products/MainCategory/Category のルート 1 -> ProductsController.Index() へのマッピング
    /Products/MainCategory/Category/Product の 1 -> ProductsController.Product() へのマッピング
  • dynamicParameters が定義されたサイトマップ内の 1 つのエントリ
    (MainCategory;Category)

Global.asax ルート定義:

サイトマップに次のエントリがあります。

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

asp.net-mvc - MVCSitemap - サブページで ID パラメータを維持する

私はサイトに次の構造を持っています:

編集リンクは詳細ページでのみ使用できるため、ほとんどのサイトで使用されている通常の /products/edit および /products/details アプローチとは少し異なります。

私の問題は、ASP.NET MVCSitemapがサイトマップのキーを保持していないことです。したがって、編集ページにいるときは、次のクラムトレイルが生成されます。

私が期待しているHTMLの代わりに:

2 番目のリンクにはキーがないことに注意してください。これを修正する簡単な方法はありますか?

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

asp.net - asp.netmvcアプリケーションのサイトセキュリティ/アクセス管理

ユーザーアクセスの検証に使用するのに適したパターンを見つけようとしています。

基本的に、Webフォームアプリケーションでは、ユーザーロールを使用してアクセスを定義するフレームワークがありました。つまり、ユーザーはロールに割り当てられ、「ページ」にはページへのアクセスが許可されました。データベースに、すべてのページがリストされたテーブルがありました。ページには、親から継承されたアクセス権を持つ子ページを含めることができます。

アクセスを定義するときに、ページへのアクセスをロールに割り当てました。その後、その役割のユーザーはページにアクセスできました。管理もかなり簡単です。これを実装する方法は、すべてのページが継承する基本クラスでした。pageload / initで、ページのURLを確認し、アクセスを検証して適切に動作します。

ただし、現在MVCアプリケーションに取り組んでおり、同様の何かを実装する必要がありますが、以前のソリューションを機能させるための良い方法を見つけることができません。純粋に、URLパスとして静的ページがないためです。また、aspxページではなくコントローラーを使用しているため、これにどのようにアプローチするのが最適かわかりません。

MVCSitemapproviderを見ましたが、データベースでは機能しません。サイトマップファイルが必要です。その場でユーザー権限の変更を制御する必要があります。

任意の考え/提案/ポインタをいただければ幸いです。

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

c# - SiteMap をより効率的に使用するにはどうすればよいですか?

そのため、私たちのウェブサイトでは を使用してSiteMapいます。リクエストごとにいくつかのメニューをレンダリングし、それをSiteMap.RootNodeヘルパー関数で行います。

ここで、 dotTraceを使用して Web サイトのプロファイリングを行ったところ、多くの時間がかかっていることがわかりましget_RootNode()た (約 70 ~ 75 ミリ秒)。SiteMapしかし、が静的であることはわかっています。だから、私はどうにかしてSiteMap.RootNode一度だけ取得し、Application_Start各リクエストを通してそれにアクセスすることを考えています。

それで、私の質問は、

私のアプローチは正しいですか?どうすればいいですか?または、私が使用できる効率的な方法はありますかSiteMap.RootNode

ありがとう。

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

asp.net - MVCSITEMAP を使用してこれをどのように達成しますか?

ビューデータをサイトマップ ファイルに渡すにはどうすればよいでしょうか。

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

asp.net - MvcSitemapProviderは、すべてをHttpではなくHttpsで返します

MvcSitemapProviderを使用していて正常に動作していますが、すべての結果がHttpではなくHttpsで返されます。

http(検索エンジンのサイトマップ)で結果を返す方法が見つかりません

のように戻ります