2013-07-05 22 views
-1

我需要你的幫助,以瞭解如何在法國和一個英文重定向到MVC4相同的控制器的URL?如何編寫友好的網址爲不同的語言MVC4 C#

換句話說,我有一個控制器專業其中有一個控制器MoreOption

public ActionResult MoreOption() 
{ 
... 
} 

因此,我們可以通過訪問HTTP此控制器:// {}域名我/Speciality/MoreOption.Now需要以法文語言http:// {domainname}/nos-specialites/options-supplementaires訪問此控制器。我不需要編寫其他控制器類,因爲它與我用來顯示該頁面的代碼相同。

+0

我希望我不是第一個試圖做到這一點... – Karine

+0

我真的沒有解決你的問題,但只是想指出的是,你應該小心的是,不同的頁面不被Google視爲重複內容,然後受到處罰。我建議您將規範URL標籤添加到指定哪些是權威頁面的頁面中。 –

+0

@QuetiMporta:當我們使用CMS時,我們可以選擇重命名每個頁面的URL。我客串我們可以在.NET MVC4中做到這一點? – Karine

回答

1

其實,如果我理解正確,這很簡單。

您只有2種操作方法,英文單詞和法語單詞,它們在相同的控制器中加載相同的模型。但是,如果您對同一控制器有兩個名稱,則可以通過路由配置實現此目的。

routes.MapRoute(
      name: "FrenchControllerName", 
      url: "Home/{controller}/{action}/{id}", 
      defaults: new {area="Home",controller = "EnglishControllerName", action = "Index", id = UrlParameter.Optional } 
     ); 
+0

謝謝@Gref,我發現這個http://stackoverflow.com/questions/2146227/how-to-route-a-multiple-language-url-with-a-mvc幫助我瞭解更多。 :) – Karine