0

「UIHint」を使用せずに、特定のタイプのデータ用に.cshtmlを作成する方法。

これらはすでに機能しています!

[DataType(DataType.Url)]
public string Link { get; set; }

使用されます

Url.cshtml

[DataType(DataType.MultilineText)]
public string Descrition { get; set; }

使用されます

MultilineText.cshtml

これら、私はどのように疑問に思っています

public IEnumerable<SelectListItem> TypesList { get; set; }

使用されます

???????????.cshtml

public DateTime? DateUpdated { get; set; }

使用されます

???????????.cshtml

public int? Order { get; set; }

使用されます

???????????.cshtml

質問

つまり、ViewModel属性を入力したくないのです。これは、「Url」や「Multiline」とまったく同じように機能します。

.cshtmlに使用されるファイル名は何ですかint?IEnumerable<xx>またはIEnumerable<string>

Remembering that you can not create files with "<", ">" or "?"
4

1 に答える 1

4

慣例により(テンプレート名を指定しない場合):

  • public IEnumerable<SelectListItem> TypesList { get; set; }を使用しますSelectListItem.cshtmlIEnumerable<T>エディターがあるため、コレクションの要素ごとにエディターテンプレートがレンダリングされ、呼び出されますT.cshtml
  • public DateTime? DateUpdated { get; set; }使用しますDateTime.cshtml
  • public int? Order { get; set; }使用しInt32.cshtml ます...

ビューでテンプレート名を指定することもできます。

@Html.EditorFor(x => x.TypesList, "MyTemplate.cshtml")

と仮定するTypesListと、はIEnumerable<T>強く型付けされ、MyTemplate.cshtml強く型付けされIEnumerable<T>ませんT

于 2012-03-15T15:14:36.497 に答える