問題タブ [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.
asp.net-mvc - ASP.NET MVC ページ/サブページ ルーティング
次のシナリオを処理する方法を理解しようとしています。一般に、テーブルにはたくさんのレコードがあります。これらはすべて、ツリーを形成するための ID フィールドと ParentID フィールドを持っています。
今、私は Page3 と Page6 の私のルートがそれぞれ似ているようにし/Page1/Page6
たい/Page3/Page5/Page6
. つまり、すべての親を URL に含めたいと考えています。
上記の結果を達成するためにコントローラーのアクション/ルーティングを設定するにはどうすればよいですか?
編集:上記の構造が動的になることを忘れていました-ノードを追加/削除/親の変更などを行うことができます.
asp.net-mvc - ASP.Net MVC Html.ActionLink()の問題
私はMVCベータ版を使用して、ASP.NetMVCを理解するための簡単なアプリケーションを作成しています。このアプリケーションは、タグ付けされたシンプルな写真/ビデオ共有サイトです。私はMVCスケルトンプロジェクトに取り組んでいます。ナビゲーションバーにいくつかのHtml.ActionLink()を追加しましたが、1つの場所に追加したHtml.ActionLink()の1つに問題があります。
〜/ Tagsにデータベースのすべてのタグを表示させ、〜/ Tags/{tag}に{tag}でタグ付けされたすべてのファイルのリストを表示させたい。これは期待どおりに機能しますが、〜/ Tags / {tag}をたどると、ナビゲーションバーのHtml.ActionLink()が、〜を指すのではなく、〜/ Tags/{tag}リンクと同じになるように変更されます。 /タグ。〜/ Tags / {tag}をたどると、ナビゲーションバーのActionLink()が変化する理由がわかりません。プロジェクト内の別のリンクに移動すると、ActionLink()は期待どおりに機能します。
アクションリンクとルートをこのように設定しました。私のTagsControllerにはこのインデックスアクションがあります。int?ページング制御用です。2つのビューがあります。1つはAllと呼ばれ、もう1つはDetailsと呼ばれます。私は何が間違っているのですか?
.net - 「リソースが見つかりません。」URLの末尾に「ドット」がある場合のエラー
ASP .NET MVC ベータ版を使用していますが、末尾に「ドット」がある次の URL を使用すると、HTTP 404 (リソースが見つかりません) エラーが発生します。
http://localhost:81/Title/Edit/Code1 .
最後にドットを削除するか、ドットが途中にある場合、エラーは発生しません。
デバッグしようとしましたが、MvcHandler の ProcessRequest の前に "System.Web.CachedPathData.GetConfigPathData(String configPath)" からエラーが発生しました。
URL の末尾に「ドット」を使用することはできませんか? または、この URL を処理するようにルート定義を修正する方法はありますか?
例: Detail1 [Id(integer), Code(string), Description(string)] という名前のテーブルがあり、ID 列を介して Master1 との FK 関係があります。Master1 のレコードを選択するたびに、その Detail1 レコードも選択して Code フィールドを取得します。毎回この結合を作成しないようにするために (通常、Detail は 1 つだけではなく、複数あるため)、Id 列を使用しないことを選択し、Detail1 の Code PK を作成します。
しかし、Id を取り除き、Code を PK として使用すると、ルートも Code フィールドで動作し始めます。例: Detail1\Edit\Code1
このコードには、DOT を含め、その中または最後に何でも含めることができます。最後に DOT を禁止できる場合もありますが、非常に意味のある場合もあります。
また、ルートが非常に柔軟であるというこの投稿も見たので、私のルートがそれほど変だとは思いませんでした。
だからこそ、私は非常に非標準的なことをします。助言がありますか?
また、URL の末尾に DOT があるのはなぜおかしいのでしょうか?
asp.net-mvc - 渡されたパラメーターにドットが含まれている場合のasp.net mvcルーティング
私は非常に基本的なルーティングを持っています:
問題は、「.」のようなすべての単純なケースで完全に機能することwww.xxx.yy/pages/filter/test
です。{id} 部分にドット「.」を追加するとすぐに失敗し、「リソースが見つかりません」が返されます。それはのために起こりますwww.xxx.yy/pages/filter/test.
助言がありますか?
ruby-on-rails - Rails: RESTful ヘルパーにアクセスするにはどうすればよいですか?
このガイドを Rails ルーティングに取り組もうとしていますが、セクション3.3で行き詰まりました:
RESTful ルートを作成すると、アプリケーション内で多数のヘルパーを利用できるようになります
そしてphotos_url
、photos_path
、 などのヘルパーをリストします。
私の質問:
「利用可能」になっているヘルパーの完全なリストはどこにありますか?
コンソールでヘルパーを呼び出す方法はありますか? アプリを作成し、コンソールをscript/console
. 次のように、コンソールでヘルパーの 1 つを呼び出そうとしました。
しかし得た:
asp.net-mvc - ASP.NET MVC URL ルーティングでコントローラーが見つからないのはなぜですか?
RegisterRoutes メソッドの Global.asax.cs ファイルに、
次に、このコントローラーを作成しました。
しかし、私が行くときの私のブラウザでは:
私は404を取得します。
ルーティングがコントローラーを見つけるために、他に何を定義する必要がありますか?
asp.net - あまり一般的ではないシナリオでの ASP.NET MVC ルーティングの最良の方法は?
更新 - 2009 年 1 月 21 日:
これを適度にうまく機能させることができた唯一の方法は、追加のパス情報を持つルートを作成することです...つまり、http://company.com/myDepartment/myTeam/action/idの代わりに、ルートに必要なものhttp://company.com/department/myDepartment/team/myTeamなどのパスを処理するように構築されます。
更新終了 - 2009 年 1 月 21 日:
同じコントローラー/ビューにルーティングできるようにするために必要な URL 規則が 2 つあります。
http://team.department.company.com/Action/id
http://department.company.com/Action/id
部門/チームのエイリアスが Uri のホスト名に含まれているため、上記の処理は非常に簡単です。
ただし、次のことを実装したい場合、満足に機能させることができませんでした。
http://company.com/department/team/Action/id
http://company.com/department/Action/id
私が定義したルートは次のとおりです。
私が抱えている問題は、コントローラーのすべてのアクション メソッドが departmentId と teamId パラメーターを必要とすることです。OnActionExecuting イベント ハンドラーで取得したベース コントローラー クラスの部門/チーム ID 値を「前処理」できるようにしたいだけです。私は間違った木を吠えていますか?独自の Mvc Route ハンドラーを実装する必要がありますか?
注: これはレガシー アプリを置き換えるものであり、URL 形式を保持/維持する必要があります。
編集: まず、これまでの応答に感謝します。私が受け取った回答に基づいて、私はある点で十分に明確ではなかったと思います. これは(大まかに)私のコントローラーがどのように見えるかです:
ただし、このスキームでは、このクラスから継承する (そして上記のルートで適切にルーティングされる) すべてのコントローラーは、アクション ハンドラーで (冗長/不要であると私が認識しているもの) パラメーターを期待します。各ハンドラーがこれらの「追加の」パラメーターを必要とすることを避けたいので、提案を探しています。
ありがとう!-ジョルジオ
asp.net-mvc - MVC Beta Web アプリケーションを仮想ディレクトリに移動すると、すべての /Content リソースが取り除かれます
win2008サーバーでVS2008を使用して開発された非常に優れたMVCベータアプリケーションがあります。問題は、IIS6 仮想ディレクトリに展開しようとしたときに始まりました。MVC ベータ版をターゲットの win2003 サーバー ボックスにインストールした後、アプリケーションを仮想ディレクトリから表示することができましたが、すべての画像と css 属性が欠落しています。プレースホルダーは、アプリケーションが実行されている仮想ディレクトリではなく、ルート Web サイトにイメージを配置する必要があることを示唆しています。
実際のパス:
それよりも:
アプリケーションを独自の Web サイト (ルート) にインストールすると、すべて正常に動作します。Web プロパティを "Use Visual Studio Development Server"/Specific Port / に設定し、仮想パスを追加することで、VS2008 でこれを複製できます。
プロジェクトの Web プロパティを「ローカル IIS Web サーバーを使用する」に設定し、仮想ディレクトリを作成することで、これを複製することもできます。
mvc url ルーティングに関して、明らかに欠けているものがあります。ここでのガイダンスをいただければ幸いです。
asp.net-mvc - ASPNET MVC: リファラー (sic) のルートを把握する方法は?
コントローラーには、GET アクションのペアからヒットする POST アクションがいくつかあります。検証が失敗した場合、POST の元であるアクションのビューをレンダリングしたいと考えています。例えば:
~/accounts POSTs to ~/accounts/disable - 検証エラーで "index" ビューをレンダリングします ~/accounts/profile POSTs to ~/accounts/disable - 検証エラーで "profile" ビューをレンダリングします
サーバー変数からリファラー (sic) を取得し、それを解析してアクションを理解することができますが、私が望むことを行う何かが組み込まれていることを望んでいたか、他の誰かがすでにこれを行っており、私が盗むことができます.
ControllerContext.RouteData プロパティには、現在のリクエストに関する情報のみが含まれており、参照元の (sic) リクエストではないようです...?
私は ASP.NET MVC ベータ版を使用しています。
asp.net-mvc - ASP.NET MVC QueryString の既定値は、指定された値をオーバーライドしますか?
ASP.NET MVC Preview 5 を使用すると (これはベータ版でも試行されています)、ルートのクエリ文字列の既定値が、クエリ文字列で渡される値をオーバーライドするようです。再現は、次のようなコントローラーを作成することです。
ルートは次のようにマッピングされます。
次に、この相対 URI で呼び出します。
私が見るトレース出力は次のとおりです。
つまり、ルートに設定されたデフォルト値は、クエリ文字列で実際に指定されたかどうかに関係なく、常にメソッドに渡されます。クエリ文字列のデフォルトが削除された場合、つまりルートは次のようにマッピングされることに注意してください。
その後、コントローラーは期待どおりに動作し、値がパラメーター値として渡され、トレース出力が得られます。
これはバグのように見えますが、このようなバグが ASP.NET MVC フレームワークのベータ リリースにまだ残っている可能性があることは非常に驚くべきことです。デフォルトのクエリ文字列は厳密には難解な機能でもエッジ ケースの機能でもないためです。 、だからほぼ間違いなく私のせいです。私が間違っていることはありますか?