Asp.net-Mvc
ASP.NET MVC - 我可以為同一個操作有多個名稱嗎?
ASP.NET MVC - 我可以為同一個操作有多個名稱嗎?
在同一個控制器中……我可以為同一個動作有多個名稱嗎?
我正在尋找一個完整的多語言解決方案。本質上,我希望所有邏輯都相同,但根據語言更改“關鍵字”(URL 中的操作、控制器)。
同一操作不能有多個名稱。會有不同的動作。這就是 mvc 的工作方式。也許最好用路由來實現描述的行為。
routes.MapRoute("Lang1RouteToController1Action1", "Lang1Controller/Lang1Action/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); routes.MapRoute("Lang2RouteToController1Action1", "Lang2Controller/Lang2Action/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional } );當然,您必須創建許多路由,但是您可以製作配置文件或將路由數據儲存在數據庫中,並在應用程序啟動時循環創建它們。無論如何,我認為這比創建大量方法要好,因為如果您想再添加一種語言,則需要在整個控制器中查找操作並重新編譯程式碼。但是在路由和配置文件的情況下 - 它變得不那麼難。第二件事是 Html.ActionLink(“Home”, “Index”, “Home”) 擴展 - 您必須實現自己的才能返回本地化操作連結。