2

C#ASP.NETアプリを作成しようとしていますが、ルーティングに問題があり、次に進む方法がわかりません。

routes.MapRoute(
    "DefaultArticole",
    "{limba}/Art-{id}/{titluPagina}",
    new { controller = "Pagini", action = "Index", limba = UrlParameter.Optional, id = UrlParameter.Optional, titluPagina = UrlParameter.Optional }
);

routes.MapRoute(
    "DefaultPagini",
    "{limba}/{paginaCurenta}/{id}",
    new { controller = "Home", action = "Index", limba = UrlParameter.Optional, paginaCurenta = UrlParameter.Optional, id = UrlParameter.Optional }
);

私が欲しいのは、次のようなuriのことです。

/Art-10/title

また

/en/Art-10/title

に捕まるDefaultArticole

4

1 に答える 1

0

Pagini最も簡単な方法は、コントローラーに2つのルートを定義することです。

routes.MapRoute("DefaultArticole", "{limba}/Art-{id}/{titluPagina}",
    new { controller = "Pagini", action = "Index", limba = UrlParameter.Optional, id = UrlParameter.Optional, titluPagina = UrlParameter.Optional });

routes.MapRoute("DefaultArticoleDefaultLimba", "Art-{id}/{titluPagina}",
    new { controller = "Pagini", action = "Index", id = UrlParameter.Optional, titluPagina = UrlParameter.Optional });

次に、あなたPaginiControllerはこのようにそれを行うことができます:

public ActionResult Index(string limba, int id, string titluPagina)
{
    // Set the language to default, if none given (via /Art-10/title route)
    if (string.IsNullOrEmpty(limba)) limba = "en";
    // Your actual stuff here
    return View();
}
于 2012-10-26T08:36:14.530 に答える