Ich bin wie unten eine Schleife mit einem Etikett und Editor für jede Eigenschaft auf einem View-Modell zu machen:Warum stören meine Anzeigenamen Etiketten in einer Editorvorlage?
@{
var properties = ViewData.ModelMetadata.Properties.Where(pm => pm.ShowForEdit && !pm.IsComplexType && !ViewData.TemplateInfo.Visited(pm));
}
@foreach (var prop in properties)
{
<li>
<div class="form-line">
@{
if (prop.HideSurroundingHtml)
{
@Html.Editor(prop.DisplayName ?? prop.PropertyName)
}
else
{
@Html.Label((prop.IsRequired ? "* " : "") + (prop.DisplayName ?? prop.PropertyName))
@Html.Editor(prop.PropertyName)
}
}
</div>
</li>
}
und das Modell:
[Required]
[Display(Name = "Status")]
[UIHint("DropDown", "MVC", "SelectListName", "StatusSelectList")]
public Guid StatusId { get; set; }
[Required]
[Display(Name = "Emp Number")]
public string RefNum { get; set; }
[Required]
public string Surname { get; set; }
Wenn ich einen Anzeigenamen "verwenden Emp. Nr. ", Ein Label wird überhaupt nicht gerendert. Wenn ich den Anzeigenamen "Emp. Number" verwende, wird nur ein "Number" -Label gerendert. Nur wenn ich den Anzeigenamen "Emp Number" ohne jeden Punkt verwende, wird mein vollständiges, erwartetes Label gerendert. Was geht hier vor sich?
was schleifen Sie durch? die Metadaten? – RPM1984
@ RPM1984 Ja. Bitte sehen Sie jetzt Ich habe die Abfrage für 'Eigenschaften' zu meinem Code oben hinzugefügt. – ProfK
okay, ich habe das noch nie zuvor gesehen. Warum willst du das machen? Was versuchst du zu erreichen? Es sieht ziemlich unordentlich aus – RPM1984