labelforに表示するビューモデルの内部クラスの表示名を取得しようとしています。ViewModel上のダングリングクラスLabelForで使用されていないDisplayName
DetailsTab.PrimaryContact.Nameの「名前」は表示されません 属性をDisplay(Name = "")にも変更しようとしましたが、それはうまくいかないようです。これは動作するはずですが、私はそれを動作させることができません。私は何かを逃したか?
質問:どのように私はlabelfor
public class CustomerDetailsData
{
[DisplayName("Name")]
[StringLength(250)]
public string Name { get; set; }
[StringLength(250)]
public string Logo { get; set; }
[DisplayName("Tenant ID")]
public string CustomerId { get; set; }
public DetailsData DetailsTab { get; set; }
public class DetailsData
{
[DisplayName("Industry")]
[StringLength(250)]
public string Industry { get; set; }
[DisplayName("Team Count")]
[StringLength(250)]
public string TeamCount { get; set; }
public PrimaryContactData PrimaryContact { get; set; }
public class PrimaryContactData
{
[DisplayName("Primary Contact Name")]
public string Name { get; set; }
[DisplayName("Primary Contact Email")]
public string Email { get; set;}
[DisplayName("Primary Contact Phone")]
public string Phone { get; set;}
}
}
}
<div class="row">
<div class="large-2 columns">
@Html.LabelFor(model => model.DetailsTab.PrimaryContact.Name)
</div>
<div class="large-10 columns">
@Html.DisplayFor(model => model.DetailsTab.PrimaryContact.Name)
</div>
</div>
'PrimaryContactData'の' Name'プロパティを 'PrimaryContactName'のように変更してもう一度テストできますか? – Alisson
こんにちは@Alisson私は上記を行い、 "プライマリコンタクト名"を返し、大文字によるスペースを仮定します。理想的には、LabelForとDisplayNameを使うことができます。なぜなら、プロパティ名にPrimaryContactを宣言する必要がないからです。 – cooLLedge