0
我有一個問題:調用多個控制器方法在視圖中
我想知道有沒有辦法來調用多個控制器的來自不同路徑的圖的方法,我會解釋:
我想用「默認」的路線和一個新的我已經創建了:
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>
而且在我的控制器,這裏是方法的簽名: 公共JsonResult TranslateText(字符串stringToTranslate =「」,字符串inputLangCode =「 en「,string outputLangCode =」fr「)
我想知道是否有方法在同一視圖中調用它們,因爲如果我在」Default「之前放置」TranslateText「路徑,它只調用不帶參數的「TranslateText」方法並返回一個空的JSON。 如果我做的是相反的(「TranslateText」路由之前的「Default」),它將永遠不會調用最後一個路由(「TranslateText」)。
感謝
PS:我是新的MVC世界:)
它顯示了我的看法:「/ Translation/TranslateText?stringToTranslate =上傳%20你的%20CV%20(拖動%20%26%20Drop)&from = en&to = de」而不是翻譯......最奇怪的事情在調試時,它不會傳遞「TranslateText」方法,而如果我把「TranslateText」路由放在「Default」之前,它會調試... – user1841787
請看編輯 – Dima
它也不會工作...但是,如果我先將默認路線設置爲「@(Html.Action(」TranslateText「,」Translation「,new {stringToTranslate =」上傳您的簡歷(拖放)「,從=」en「 =「de」}))「而不是」@(Url.Action(「TranslateText」,「Translation」,new {stringToTranslate =「上傳您的簡歷(拖放)」,從=「en」,到=「de 「}))」它起作用,它給了我翻譯,但它使我呈現HTML標記格式的完整頁面,而不是圖形,我該如何糾正這個問題? – user1841787