質問があります:
ビューで複数のコントローラーのメソッドを異なるルートから呼び出す方法があるかどうかを知りたいのですが、説明します:
「デフォルト」ルートと作成した新しいルートを使用したい:
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」ルートを使用しているアイテムが 1 つあります。
私はそのようなビューでそれを呼び出しています:
<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」ルートの前に「デフォルト」)、最後のルート (「TranslateText」) を呼び出すことはありません。
ありがとう
PS:私はMVCの世界では初めてです:)