I次のルートがあります。これは、その経路のために呼ばれるべきコントローラであるルーティングMVCで働いていない
routes.MapRoute(
"Property",
"{language}/property/{propertyUrlId}",
new { controller = "PropertyDetails", action = "Property" }
:
public class PropertyDetailsController : Controller
{
public ActionResult Property(string language, string propertyUrlId)
{
など
は、次のURLをそのルートを使用する必要があります:
http://domain.com/en-us/property/3
代わりに、私は404を取得します。ここで
は私のルートです:
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapRoute(
"Property",
"property/{propertyUrlId}",
//new { controller = "PropertyDetails", action = "Property" }, new { language = @"[a-zA-Z]{2}-[a-zA-Z]{2}" }
new { controller = "PropertyDetails", action = "Property" }
);
}
はどちらか、言語を持つ、または言語/国では動作しませんでした。
ルーティングルールの登録順序は重要です。登録順に作成しているすべてのルートをお知らせください。 – Novakov
提案された変更の後でさえ、私はまだ404を手に入れています。 – birdus
@AndrewBarberあなたのコメントは間違っています。別のルートと一致する場合は、404が表示されます。 mvc default route - > controller not known - > 404 – santiagoIT