私はルーティングに関してかなり独特の問題があります。この場合、DefaultルートがHtml.ActionLinkを使用して動作しないのはなぜですか?
は年のためにそれ用の設定を気にすることないの後、私はデフォルトルートを使用していますバックのルーティングに来るとリソースのためのルートを無視:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default",
// Route name
"{controller}/{action}/{id}",
// URL with parameters
new
{
controller = "Home",
action = "Index",
id = UrlParameter.Optional
});
私はIndex
のためのアクションでRulesController
を持っており、 Views> RulesディレクトリのLorem
とIndex.aspx
とLorem.aspx
。
私はmaseterページにルール/インデックスを目的としたActionLinkのを持っている:
<li><div><%: Html.ActionLink("linkText", "Index", "Rules")%></div></li>
リンクがhttp://localhost:12345/Rules/
としてレンダリングされていると私はURLにIndex
を入力すると404
を取得していますアプリケーションはそれをアクションにルーティングします。
私は"Index"
から"Lorem"
へのデフォルトルートのアクションを変更
Index
を添加しない
http://localhost:12345/Rules/Index
としてレンダリングされています。
私はPhil Haack's Routing Debuggerを使用しましたが、URL http://localhost:12345/Rules/
に入るとそれも404を使用しています。
私はルーキーミス、関連するSOの質問と基本的なRTFMをすべてカバーしていると思います。
私は、 "ルール"はルーティングの予約語ではないと仮定しています。 ルートを更新してそれらをデバッグする以外に、どうすれば見えますか?
IgnoreRoutesが定義されていますか?あなたは偶然あなたのウェブサイトのディレクトリに 'Rules'というフォルダを持っていますか? –
私はデフォルトの無視経路(今質問に追加されている)とフォルダにはいを持っています。建築家はBusiness Objects用の別のプロジェクトを作成していないため、そこには「Rules」フォルダがあります。私は再編成してテストします。そのような場合は、このコメントを回答として追加してください。 – StuperUser
ブーム。ありがとうナタン。 – StuperUser