2014-07-07 48 views
0

我試圖實現貨幣本地化,如默認貨幣是美元,當用戶將貨幣更改爲歐元時,所有美元產品價格都將轉換爲歐元。我爲此創建了一個簡單的資源文件,但不知道下一步該怎麼做。請引導我與此我已搜索互聯網,但找不到任何適當的解決方案。貨幣本地化asp.net mvc 4

+0

您必須提供更多信息。顯示一些代碼:你如何顯示價格?你從哪裏得到它們?你如何穩定匯率?有很多事情,而不是你在做什麼的線索 – JotaBe

+0

你真的認爲貨幣的官方轉換率是適當的嗎?專業銷售人員對於不同的國家會有不同的價格!通常情況下,在德國500歐元的商品售價將在美國500美元(不是680)...... –

+0

@BernhardHiller我擁有的數據是恰當的,我只是想簡單地將它從美元轉換爲任何用戶指定的currecny – Anony

回答

0

您可以設置一個基本靜態幫助器方法,以便在您的應用程序中隨處設置正確的貨幣,並且它將使用會話變量應用於整個應用程序域。

因此,您只需將會話變量的默認值設置爲USD,並將選定的貨幣下拉列表中的值指向您的會話變量。

Session["currency"] = //set avalue from drop down list here; 

,並計算出你可以鏈接的靜態輔助類,你的資源,並獲得選擇的幣種。

public static double CalcCurrency(double price) 
    { 
     //from your resource 
     return GetCurrency(Session["currency"].ToString(), price); 
    } 

現在在你的網頁,你隨處可見,你有聯營的價格,那麼你必須使用上面的helper方法:

asp.net: Price: <%: CalcCurrency(200.55) %> 
    Razor: Price: @{ CalcCurrency(200.55) } 

使用會話變量只有一個選擇,如果你不不想使用它,你也可以使用ViewBag或ViewData。 Session的優勢在於用戶可以在整個應用程序中獲得選定的貨幣,而無需爲每個視圖自行維護。

+0

謝謝對於這個巨大的幫助,但是您能否詳細說明一下,比如我從美元數據庫中獲取貨幣價值,那麼我如何設置一個幫助者將所有美元價值轉換爲歐元或其他貨幣?我已經設置了貨幣兌換方法 – Anony

+0

如果您還沒有找到免費貨幣的地方,您可以下載xml以便將美元兌換成其他貨幣在此網址 //http://themoneyconverter.com/rss-feed /USD/rss.xml然後使用金額*費率來獲得逼近轉換。我說近似值是因爲傳遞給PayPal時金額總是不同,我想他們會爲轉換收取一定的費用。我做什麼:我下載它,然後保存在bd中,然後在bd中使用,如果它在一小時內下載的話。 xml中上次更新的suply UTC日期時間。對不起,我的基礎英語,即時通訊法語。 如果你需要一些代碼,請問。 – Benoit