給定一個域對象:asp.net mvc視圖的文化特定日期/貨幣格式的正確位置在哪裏?
class BirthdayDomain
{
public DateTime Birthday { get; set; }
public decimal BirthdayPresent { get; set; }
}
我有傳送到一個強類型的視圖兩種選擇:
1.
class BirthdayView
{
public DateTime Birthday { get; set; }
public decimal BirthdayPresent { get; set; }
}
,並在視圖
<%: Model.Birthday.ToString("d"); %>
<%: Model.BirthdayPresent.ToString("C2"); %>
2.
class BirthdayView
{
public string Birthday { get; set; }
public string BirthdayPresent { get; set; }
}
,並在控制器(例如)
BirthdayDomain bd = Repository.GetBirthday(.....)
BirthdayView bv = new BirthdayView()
{
Birthday = bd.Birthday.ToString("d");
BirthdayPresent = bd.BirthdayPresent.ToString("C2");
}
並在視圖只輸出字符串。
我的問題是:如果我想支持用戶(瀏覽器?)當前的區域設置,以便日期和貨幣按照期望的方式顯示,那麼最好的地方在哪裏?它可以在視圖或控制器中完成嗎?處理這個問題的普遍接受的技術是什麼?
艾哈!謝謝你會給我一個機會。標記爲已回答(除非它不起作用:)) – Jedidja 2010-03-04 12:51:56
這意味着我們肯定希望在View Model中保留原始數據類型(這正是我所傾向的)。 – Jedidja 2010-03-04 12:55:15
按預期工作。真棒:) – Jedidja 2010-03-04 13:08:19