私はこれをしばらく探していましたが、解決策はうまくいくように見えますが、間違っているようです。
「manage」という CMS 側を管理するための領域を作成しました。
/管理/ヴィンヤード
CRUD スキャフォールドで構築された VinyardController を使用して管理するヴィンヤードのリストが表示されます。
「フロント エンド」には、ブラウズ コントローラーと、ヴィンヤードの詳細を表示するための別の VinyardController があります。
だから誰かが行く
/ブラウズ/ヴィンヤード
それは彼らにヴィンヤードのリストを与えます、彼らは1つをクリックします(ここに問題があります)私はそれを行きたいです
/Vinyard/NameOfVinyard
私が持っているルートは次のとおりです。
routes.MapRoute(
"Vinyard",
"Vinyard/{Name}",
new { controller = "VinyardController", action = "Details", area="root"}
);
これはデフォルトルートの上にあります。Details は Vinyard の詳細を表示するメソッドです。
私が使用している HTML.actionlink は次のとおりです。
@Html.ActionLink(item.Name, "Details", "vinyard" ,new { name = item.VinyardId, area="root" })
何らかの理由で返されるタグは次のとおりです: /Browse/Details?Length=7
その上、/vinyard/1 を参照しようとすると、404 が表示されます。
ご協力いただきありがとうございます!
更新: /vinyard/details/1 を参照すると、/details/ 部分を避けたいことを除いて、適切に動作します。