MVC   zodpovězená otázka

ASP.NET MVC

Ahoj,

snažím se trochu přeškolit na MVC.

Mám controller s názvem User. Jak mám udělat volání tohoto conrolleru podle jazykových verzí?

http://neco.cz/en/User

http://neco.cz/cs/Uzivatel

Prostě chci volat stejný controller jinými názvy, je to možné?

Díky.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Zaregistrujete dvě routy na stejný controller a akci.

routes.MapRoute(
    name: "UserEN",
    url: "en/User",
    defaults: new { controller = "User", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
    name: "UserCZ",
    url: "cs/Uzivatel",
    defaults: new { controller = "User", action = "Index", id = UrlParameter.Optional }
);
nahlásit spamnahlásit spam 0 odpovědětodpovědět

Díky za rychlou reakci. S vaším kódem mi to vrací:

The resource cannot be found.

Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly.

Requested URL: /cs/Uzivatel

Pokud změním routu takto:

routes.MapRoute(
    name: "UserCZ",
    url: "cs/Uzivatel/{action}/{id}",
    defaults: new { controller = "User", action = "Index", id = UrlParameter.Optional }
);

pak to funguje ale musím adresu zadat celou včetně id: /cs/Uzivatel/Index/1

Co s tím?

Díky.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Nechte ty routy ode mě, ale zkuste změnit jejich pořadí s výchozí routou - předpokládám, že tam ještě máte i výchozí routu, něco jako "{controller}/{action}/{id}".

Obecně záleží v jakém pořadí routy registrujete, viděl bych problém v tom.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Děkuji.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback