2017-08-06 35 views
0

我正在使用多語言MVC應用程序。我在我的應用程序的許多地方使用歷史推送狀態。直到我將其改爲多語言爲止它工作得很好。我當前的代碼:如何在jQuery歷史PushState中傳遞MVC動作和控制器名稱並從URL讀取文化?

history.pushState(null, null, '/Employees/Edit/@ViewBag.Id'); 

現在,我的網址變更爲:

/en-US/Employees/Edit/@ViewBag.Id

而且

/ar-SA/Employees/Edit/@ViewBag.Id

我試圖在ViewBag中保存文化,並在此處使用if-statement來檢查文化。但它不起作用。如何通過URL讀取文化,而不使用If-Statement

+0

只是打造成了這個路線......,這將是最聰明的,那麼你不需要其他任何東西......我相信你的問題是圍繞viewbag不正確的使用或不可修改的使用比你想要的實際更改更多。 viewBag.id gona如何工作...只是使用實際值。 – Seabizkit

回答

0

試試這個

var url = '/Employees/Edit'+ @ViewBag.Id 

history.pushState(null, null,url); 
0

您可以添加的語言部分到您的路線,然後將它與pushState的 像

history.pushState(null, null, 
    '@ViewContext.RouteData.Values["lang"]/Employees/Edit/@ViewBag.Id'); 
相關問題