問題タブ [mvcroutehandler]

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 投票する
2 に答える
2260 参照

c# - MVC C# カスタム MvcRouteHandler - 方法?

カスタム MvcRouteHandler を提供した経験のある人はいますか? 私のアプリケーションでは、http://mydomain/en/aboutまたはhttp://mydomain/de/aboutのようなグローバリゼーション パターンを実装したいと考えています。

永続性に関しては、リクエストが到着するとすぐに Cookie を読み取って、この Cookie に言語設定がある場合はそれを適用したいと思います (したがって、http://mydomain/に到着したユーザーは http:/に転送されます)。 /mydomain/en/など)。Cookie が存在しない場合は、ブラウザーがサポートする最初の言語を取得し、これを適用して、この Cookie に保存します。

これは、mvc が最初のプロジェクト テンプレートで提供する標準のルーティング メカニズムでは実行できないと思います。ニュースグループで、MvcRouteHandler を見て、独自のものを実装するためのヒントを得ました。しかし、それを行う方法のサンプルを見つけるのは難しい.

何か案は?

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

asp.net-mvc - MVC n レベルのルート構築

N レベルのカテゴリで製品カタログを作成したい

例えば

それは可能ですか? はいの場合はどうすればよいですか?

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

asp.net-mvc-3 - MVC3 RouteHandler の結果は、解決されたルートのエリアを無視します - なぜですか?

MVC3 アプリケーションを 2 つの領域に分割する作業を行っています。既存のアプリケーションは 1 つの領域 (V1) に入り、2 つ目の領域 (V2) で再設計を開始しています。

Views、Models、Controllers などをすべて MyApp\Areas\V1\xxx フォルダーに移動しました。ほとんどの場合、必要に応じてロードされていることを確認できました。V1 のすべての Route 登録を V1AreaRegistration.cs ファイルに移動し、context.MapRoute代わりに使用するように変更しましたRouteTable.Routes.MapRoute

Phil Haack の RouteDebugger を使用してルーティングを確認すると、すべて問題ないように見えます。V2 ルートは適切に解決されており、基本的な V1 ルートは機能しています。MvcRouteHandler機能していないのは、次のようなカスタム定義がある V1 ルートです。

この呼び出しからを削除すると、正常に機能_myCustomRouteHandlerし、V1 エリアの下の正しいビューに移動します。配置すると、ルーティングはそれがエリア ルートとして登録されているという事実を無視しているように見え、次のような黄色のエラー ページが表示されます。

ルート ハンドラーを使用できるようにする必要があり{myRoutVal}ます。パラメーターに対していくつかの検証作業を行い、無効な場合はエラー ページにリダイレクトします。

ヘルプ!!

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

asp.net-mvc-3 - MVC 3 HyphenatedRouteHandler は Areas と互換性がなく、コントローラー名が重複しています

私は MVC3 にかなり慣れていませんが、これを調査してテストするのにかなりの時間を費やしましたが、解決策が見つかりません。Stack に別の同様の投稿がありますが、7 か月経っても回答がありません。

核心はこれです: エリアとコントローラーの名前が重複していても問題ありません。エリアがあり、HyphenatedRouteHandler を使用している場合 - 問題ありません。エリア、重複するコントローラー名、およびハイフンでつながれたルート ハンドラーを使用しようとすると、次のエラーが発生します。

「製品」という名前のコントローラーに一致する複数のタイプが見つかりました。これは、このリクエスト ('{controller}/{action}/{id}') を処理するルートが、リクエストに一致するコントローラーを検索するための名前空間を指定していない場合に発生する可能性があります。この場合は、'namespaces' パラメーターを取る 'MapRoute' メソッドのオーバーロードを呼び出して、このルートを登録します。

また、ルートコントローラーでエラーが発生していますが、エリア内のコントローラーではエラーが発生していません。たとえば、/products は機能しませんが、/admin/products は機能します。

具体的な解決策に永遠に感謝します!! コードは次のようになります。

Global.asax

と:

AdminAreaRegistration.cs

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

asp.net - .NETMVCURLルーティングヘルプ

.NET MVCアプリケーションでErrorControllerを構成しようとしていますが、現在コントローラーでアクションを実行できません。そのため、global.asaxにURLルートを登録する必要があるためと思われます。

エラーコントローラは次のとおりです。

上記のアクションは、それぞれ以下のURLで呼び出せるようにしたいと思います。

〜/ Error /
〜/
Error / Generic〜/ Error / NotFound

Global.asaxファイルで、次のようなものを使用してこれらのルートを登録する必要があると思います。

このための正しいルートハンドラーを追加/指定するにはどうすればよいですか?

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

asp.net-mvc - MVC3のカスタムルートハンドラーで名前空間を指定するにはどうすればよいですか?

カスタムルートハンドラーを作成しました。Webサイトに競合するコントローラー名のエリアがあるため、エラーが発生します。名前のコントローラーに一致する複数のタイプが見つかりました...

ハンドラーで名前空間を指定する必要があると思いますよね?

私は以下を試しましたが、どれもうまくいきません:

正しい方法は何ですか?

注:ハンドラーはデータベースルックアップを実行し、結果に基づいてさまざまなコントローラーを選択するため、Global.asax.csファイルで基本的なMapRoute()メソッドを使用することはできません(私が知る限り)。

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

c# - RequireHttpsAttributeと暗号化されたリクエストデータ

機密データを受け入れるコントローラーアクションがあります。

データの安全性を確保するために、HTTPS(SSLv3、TLS 1)を使用して特定のリクエストが行われるようにします。私が使用を検討したアプローチの1つは、アクションのRequireHttpsAttributeでした。

ただし、これをテストしたところ、フィドラーは、アクションに対して行われたHTTPリクエストがHTTPSにリダイレクトされることを明らかにしました。私の質問はこれです:

HTTPSにリダイレクトされるリクエストを行った場合、リダイレクトの前に機密データをHTTP経由で送信していませんか?

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

asp.net-mvc-4 - RouteValueDictionaryはMVC4でデフォルトで渡されます

MVC4へのアップグレード中に問題が発生しましたが、他の誰かがこの問題を確認したかどうか、およびそれを回避する方法を考えていました。IDictionary、Dictionary、またはRouteValueDictionaryをアクションのパラメーターリストに配置するたびに、そのMVC呼び出しのルート値が渡されます。

この問題を再現するには、デフォルトのインターネットアプリケーション設定を使用してMVC4 Webプロジェクトを作成し、追加します。

インデックスコントローラのパラメータリストに移動し、メソッド内にブレークポイントを設定します。IDictionaryパラメーターにルート値がモデルバインダーによって入力されていることがわかります。

これをオフにする、またはこれを回避するにはどうすればよいですか?

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

asp.net-mvc - IIS の変更と認証を使用せずに、別のディレクトリから ASP.net MVC を使用して静的ファイルをルーティングする

アプリケーションの単一ユーザーのコンテンツを次の場所に保存します。

  • C:\ファイル{GUID}\

これらのファイルは次のようなものです。

  • C:\Files{GUID}\bunny.jpg
  • C:\Files{GUID}\unicorn.html

エンド ユーザーには、「わかりやすい」URL を提示する必要があります。

http:// domain.com/files/{GUID}/bunny.jpg

そのURLは、そのファイルを表示する権限を得るために、コントローラーまたはhttpmoduleまたはthingIdontknowを何らかの形で通過する必要があります。これらのアクセス許可は日々変更される可能性があるため、ファイルのアクセス許可を頻繁に確認する必要があります。

私が読んだことから、これは完全に可能ですが、次に何をコーディングするか、または誰かがここで洞察を持っているかどうかはわかりません. HttpModule またはコントローラー? 私は何が起こる必要があるかについて混乱しています。

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

forms - MVC.NET カスタム ルート ハンドラ Html:BeginForm での間違ったアクション

カスタム mvc ルート ハンドラを使用しました。しかし、ビューで Html.BeginForm または Ajax.BeginForm を使用すると、Action パラメーターが予期せず変更されます。私のコードは上記です

私の登録ルート方法は次のとおりです。

私の MvcRouteHandler は:

私の見解は:

最後に、ブラウザでの間違ったアクションは次のようになります。

form action="/man-parfume" data-ajax="true" data-ajax-method="Post" id="form0" method="post"> form action="/man-parfume" method="post" > 入力タイプ="送信" 値="送信" />

コントローラーを開始フォームのホームとして記述しましたが、Html.BeginForm がレンダリングされると変更されました。

ホーム/インデックスにフォームを投稿するにはどうすればよいですか?