1

MVC ベースのアーキテクチャのどこで日付の書式設定 (長い/短い/時間/時間なし/英国/米国) を有効にする必要がありますか? フィールドごとに long/short/time/no-time を指定できるようにしたい - つまり、DateOfBirth は時間を気にしませんが、CreationDate は気にします。

ASP.NET MVC を使用すると、ビューでそれを行う簡単な方法がないように思われます。ViewModel に FormattedDate フィールドとして配置する必要があるかどうか疑問に思います。

助言がありますか?

4

3 に答える 3

0

私はこれを2つの部分として読みました:

  • フォーマット(長い、短い)
  • データ型(日付と時刻、日付のみ、時刻のみ)

最初の部分は、ほとんどの場合、ビューの懸念事項であり、プレゼンテーションに含める必要があります。私はおそらく、必要な翻訳を含むDateTime / Date / Timeの拡張メソッドを作成するか、タイプのプレゼンテーションバージョンを作成するだけです。

2番目の部分はモデルの懸念事項です。これは、誕生日(通常)には、提示方法に関係なく時間が含まれておらず、定期的な講義の開始時刻に日付を含めるべきではないためです(定期的なものであるため、実際には開始/終了があります)。悲しいことに、.netには(思い出せる限り)日付と時刻の別々のオブジェクトが含まれていないので、通常は自分で作成します。

于 2009-02-19T20:48:09.797 に答える
0

これらの状況では、Htmlhelpers を使用します。これは、デンマークで好まれるようにフォーマットされた金額を返すための原始的なものです (私が住んでいる場所を推測してください)。私は日付と時刻を返すために同様のものを持っています。

public static class FormatMoneyExtension {
    public static string FormatMoney(this HtmlHelper htmlHelper, decimal? amount) {
        if (null != amount) {
            return ((decimal)amount).ToString("N", System.Globalization.CultureInfo.CreateSpecificCulture("da-DK"));
        } else {
            return new decimal(0.0).ToString("N", System.Globalization.CultureInfo.CreateSpecificCulture("da-DK"));
        }
    }
}

これにより、ビューがより読みやすくなります<%:Html.FormatMoney(Model.amount)%>

同様の方法で、texbox などのネイティブ コントロールをラップできます。

幸運と幸せな仕事

于 2011-03-23T08:34:38.793 に答える