問題タブ [asp.net-mvc-routing]

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 に答える
1937 参照

c# - ASP.NET MVC URL ルーティングでパラメーターを正しくマップする方法

私は次のルートを持っています

これは、クラス SegnalazioniController の次のメトンにマップされます。

リンクhttp://localhost:1387/Segnalazioni/CercaSegnalazioni/1でエラーが表示されるのはなぜですか

0 投票する
4 に答える
60584 参照

asp.net-mvc - ASP.NET MVC デフォルト ルート?

新しい ASP.NET MVC プロジェクトを作成し、サイト承認フィルターを実装しました。

ルートをペアにマップするとき{controller}/{action}、role = "SomeRole" default をルートに渡します。

完全な URL ( ) を通過し、完全http://localhost/somecontroller/someactionなルートを指定すると、完全に機能します。

問題は、誰かが訪問したときに、代わりにhttp://thesiteaddress.com呼び出すデフォルトルートが必要であり、指定した場合/home/index/

role="SomeRole"その後、前の を失いMapRouteます。

どうすればこれを解決できますか?

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

c# - 「セキュリティ」と ASP.NET ルーティング エンジンの問題

ASP.NET Web アプリケーションを開発しており、ASP.NET ルーティング エンジン (System.Web.Routing) を使用したいと考えています。

私のアプリケーションは Cassini で正常に動作しますが、IIS7 (もちろん統合アプリケーション プール) で起動すると、常に次の行でエラーが発生します。

この理由は何でしょうか?回避策はありますか?

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

asp.net-mvc - MVC URL ルーティングで「詳細」を削除する方法はありますが、他のアクションはそのまま残しますか?

通常の CRUD 操作を持つコントローラーのルートを設定したいのですが、詳細アクションで URL に「詳細」が表示されないようにしたいと考えています。Stackoverflow には、このタイプのルーティングが構成されているようです。

このアナロジーを使用すると、私のルートは現在次のようになります。

Details次のルートを追加することで、削除できました。

ただし、コントローラーで他のアクションをプルアップすると (たとえば/questions/new、この例の場合)、id を解析できないと不平を言っています。

他のすべてのアクション (MapRoute "items/create"、"items/delete" など) を Global.asax.cs に手動で入力する必要がないように、ルートを設定する方法はありますか? 基本的に、次のような2番目のルートが必要です。

{id}...そして、整数に一致し、それが文字列である場合、ルーティング エンジンにルート Q1 を使用{action}させます。これは可能ですか?

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

asp.net-mvc - Html.ActionLinkに何が起こったのかASP.NET MVCで?

ラムダ式でのHtml.ActionLinkメソッドの使用に関するこれらのブログをすべて読んでいます。私はここでそれについてのScottGuプレゼンテーションを見ました:http://www.hanselman.com/silverlight/ScottGuAtAltNetConf/

これがブログです:http ://blog.wekeroad.com/blog/aspnet-mvc-preview-using-the-mvc-ui-helpers/

これについてのScottGuブログは次のとおりです:http ://weblogs.asp.net/scottgu/archive/2007/12/03/asp-net-mvc-framework-part-2-url-routing.aspx

「次のように書くこともできます:

これはURLルートを書くための非常に強力な方法であり、特にリファクタリングツールを自動的にサポートするため、これが明らかに欠落しているか、見つけるのが非常に難しいのはなぜですか?ReflectorのSystem.Web.Mvc.Html.LinkExtensionsを見ると、ActionLink(このHtmlHelper ...)拡張メソッドがたくさんありますが、一般的なものはありません。

誰か助けがありますか?ありがとう!!

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

asp.net-mvc - MVC プロジェクトの分離コードでサーバー側コントロールにアクセスするにはどうすればよいですか?

何よりもまず、ビューでサーバー側のコントロールにアクセスすることは、MVC では嫌われていることを知っていることを述べさせてください。ただし、私の状況では必要です(私が見る限り)。これが私の話です。:)

Web アプリケーションで使用しているサードパーティ コントロールがあります。私は現在、WebForms ソリューションを MVC に移植するタスクを与えられています。この特定のサード パーティの Web コントロールには WebForms アーキテクチャが必要なので、WebForms プロジェクトと同じコードを使用しようとしています。

の最初のアプローチは、2 つの Web サイト (WebForms サイトと MVC サイト) を用意し、MVC 側から iFrame を使用して 2 つをリンクすることでした。それが機能することはわかっていますが、この特定のコントロールを使用するだけでは少しやり過ぎでした. さらに調査を行った結果、MVC プロジェクト内で WebForms アーキテクチャを使用して「男の子を混ぜ合わせる」ことができることを発見しました。したがって、私が取った新しいアプローチは、このサード パーティ コントロールを使用するページのみを特定のディレクトリ (つまり、'View\SomeDir\WebForms') にコピーし、global.asax ファイルでそのディレクトリを無視することです。 MVC ルーティング システムがそれを取得しないこと:

残念ながら、ASPX ページを MVC プロジェクトにコピーしたところ、CodeBehind がページ上のコントロールへのアクセスを許可していないことがわかりました。設定方法は次のとおりです。

私のコードビハインドは次のようになります。

残念ながら、CodeBehind のすべてのコントロールでこのエラーが発生するため、プロジェクトはコンパイルされません。他のコントロール (つまり、ラベル、パネル、テキスト ボックスなど) をクライアント タグに変換することは問題ではありませんが、コード ビハインドでこのカスタム コントロールにアクセスして、(サーバー側の) イベントに応じて応答します。基本的な WebForms のもの...

私がやろうとしていることは可能ですか?その作業について私が考えたもう 1 つの方法mightは、サーバー側のイベントをコントローラー クラスで初期化してトラップすることです。ただし、ビュー内のコントロールの状態をシリアル化することは避けたいと思います。単にそれをコントローラーに渡して、可能であれば元に戻しますか?

アドバイスをよろしくお願いします!

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

c# - ASP.NETMVCの動的ルートと任意の深さのアクションリンク

ASP.NETMVCを使用してフォーラム/メッセージボードを作成したいと思います。これらのタイプのフォーラムでかなり一般的なのは、階層的な掲示板のカテゴリです。たとえば、次のようになります。

-一般的な議論
-テクニカルサポート-
ウェブサイトテクニカルサポート-製品
テクニカルサポート
---製品Aテクニカルサポート
---製品Bテクニカルサポート

各カテゴリの下にはトピックがあり、メッセージはそれらのトピックに属します。私が主に関心を持っているのは、1。)URLを指定して正しい場所に到達すること、2。)URLに不要な情報を大量に含めないこと、3。)コードからURLを再作成できることです。

URLを次のようにしたいと思います。

ここで、アクション名は私がどこにいるかに基づいて推測できるため、これから除外しました。データベース内の各Boardエンティティには、インデックスが付けられた「UrlPart」列があるため、そのテーブルに対して比較的高速なクエリを実行して、自分がどこにいるかを把握できると期待しています。

問題は、正しい場所を見つけるために、カスタムルートハンドラー、カスタムルートバインダーを使用する必要があるのか​​、それともあいまいなルーティングルールを作成するだけなのかということです。

この提案はかなり良さそうに見えますが、少しの利益のために多くの作業のようにも見えます: 検索用のASP.NETMVCカスタムルーティング

これは、モデルバインディングの作成がより簡単であることを示しているようです: MVC動的ルート

#3を満たすには、独自のカスタムURL生成ロジックを作成する必要があります。

0 投票する
4 に答える
6255 参照

asp.net-mvc - ツリーパスのasp.net mvc複雑なルーティング

次のようなルーティング マップを定義するにはどうすればよいでしょうか。

TreeMap は、次のようにデータベースから動的にロードされます。

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

asp.net-mvc - ASP.NET MVC が末尾のスラッシュを無視するのはなぜですか?

次のルートを検討してください。

を使用すると、予想される代わりに のUrl.Action("Service", "CustomerService")URL が生成されます/service/service/

これを機能させる方法はありますか、またはから派生した独自のルーティングを実装する必要がありRouteBaseますか?

0 投票する
5 に答える
61285 参照

c# - ASP.NET MVC のあいまいなアクション メソッド

競合する 2 つのアクション メソッドがあります。基本的に、アイテムの ID またはアイテムの名前とその親 (アイテムは異なる親間で同じ名前を持つことができます) のいずれかによって、2 つの異なるルートを使用して同じビューに到達できるようにしたいと考えています。検索語を使用してリストをフィルタリングできます。

例えば...

これが私のアクションメソッドです(アクションメソッドもありRemoveます)...

そして、ここにルートがあります...

pageパラメータがnullになる可能性があるため、エラーが発生する理由は理解していますが、それを解決する最善の方法がわかりません。そもそも私のデザインは貧弱ですか?Method #1の署名を拡張して検索パラメーターを含め、Method #2両方が呼び出すプライベートメソッドにロジックを移動することを考えましたが、それで実際にあいまいさが解決されるとは思いません。

どんな助けでも大歓迎です。


実際の解決策(リーバイスの回答に基づく)

次のクラスを追加しました...

そして、アクションメソッドを装飾しました...