0

私のビューは、エンティティをモデルとして直接取り込みます。

@model MyProject.Models.MyEntity

ビュー内のエンティティの複数形の名前を取得する簡単な方法はありますか? 上記の例では、 が必要ですMyEntities

ヘルパーまたはコントローラーでこれを実行して、ViewBag または ViewModel に渡すことができることはわかっていますが、代わりにビュー内で直接取得する方法はありますか?

String単語を複数形にするオブジェクトに拡張メソッドを作成したので、複数形でない名前で十分です。

using System.Data.Entity.Design.PluralizationServices;

namespace System
{
    public static class StringExtensionMethods
    {
        public static string Pluralise(this string word, CultureInfo culture)
        {
            var service = PluralizationService.CreateService(culture);

            if (service.IsSingular(word))
            {
                return service.Pluralize(word);
            }

            return word;
    }
}

PS。誰かが上記を使用したい場合は、への参照System.Data.Entity.Designが必要です。

編集:

Model.GetType().Name.Pluralise();それが私が受け渡しているものだから、私はできることに気づきました.

うーん...もっと良い方法はありますか?

4

1 に答える 1

0

これはほとんど最良の方法ですが、ほとんどの人はコントローラーでそれを行い、ViewModel を介して複数形の名前をビューに渡す必要があると主張します。

于 2013-02-27T21:52:14.317 に答える