1

我幾乎陷入了困境,因爲我無法弄清楚如何在.js文件中「調用」資源文件。我有一個登錄視圖,在這個視圖上我調用了MVC渲染方法來生成腳本標記。如何在Asp.net MVC中添加本地化到外部js文件?

@Scripts.Render("~/Scripts/Login.js") 
我Login.js

我有一個變量:

var yes = "Resources.Resource.Yes"; 

應tranlated爲Yes,或JA,或其他任何依賴於它的CultureInfo設置。如果我將腳本文件保存在我的視圖中,它會非常簡單,因爲那時我只是調用@Resources.Rescource.Yes,它會起作用,但是如果腳本文件是外部的,那麼它不起作用。我如何解決這個問題?

+0

你想如何解決它?即帶有本地化文本的「〜/ Scripts/Login.de-de.js」? –

+0

我不認爲這是可能的,你應該嘗試找到支持本地化,支持i18n集成或任何其他本地化機制的3D方庫。如果他們不這樣做,那麼你將不得不自己編寫庫的包裝 –

回答

2

這個問題的答案主要是基於意見的。

有我遇到工作在各種項目上三種主要的方法:

  1. 本地化處理。您在javascript中定義資源鍵,在$(document).ready()中使用ajax從專用於此的控制器/ httphandler獲取本地化值,並替換鍵控文本。
  2. 在線js。基本上,您在您的視圖/頁面中轉儲外部.js並在<script>標記內呈現腳本。
  3. 全局變量。在視圖中定義全局變量,如下所示:<script language="text/javascript">var myString='<%= Resources.MyString %>';</script>,然後使用包含.js的變量。

就我個人而言,我更喜歡方法n 3 - >您可以在代碼中創建一個單獨的位置來創建所有變量並一次性加載頁面。

+0

我選擇了第三種方法。 – Timsen