我有一个问题:
我想知道是否有办法从不同的路由在视图中调用多个控制器的方法,我将解释:
我想使用“默认”路线和我创建的新路线:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Index", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "TranslateText",
url: "{controller}/{action}/{stringToTranslate}/{from}/{to}",
defaults: new { controller = "Translation", action = "TranslateText", stringToTranslate = "", from = "", to = "" }
);
我的视图中有多个使用默认路由的项目,但我有一个使用“TranslateText”路由的项目。
我在这样的视图中调用它:
<legend id="UploadCVLabel" style="color: #FF6600;">@(Url.Action("TranslateText", "Translation", "Upload your CV (Drag & Drop)", "en", "de" }; ))
</legend>
在我的控制器中,这里是方法的签名: public JsonResult TranslateText(string stringToTranslate = "", string inputLangCode = "en", string outputLangCode = "fr")
我想知道是否有办法在同一个视图中调用它们,因为如果我将“TranslateText”路由放在“默认”路由之前,它只会调用不带参数的“TranslateText”方法并返回一个空 JSON。如果我做相反的事情(“TranslateText”路由之前的“Default”),它将永远不会调用最后一个路由(“TranslateText”)。
谢谢
PS:我是 MVC 世界的新手 :)