Prüfen, ob der Wert vom Typ DateTime null ist in Sicht und zeigt leer, wenn null

Von meinem controller habe ich den übergebenen Wert Modul zum anzeigen

    public ActionResult Details(long id, string owner)
    {
        var module = _ownedModuleRepository.GetModuleDetails(id, owner);

        return View(module);
    }

Ich gezeigt habe, den Wert, den es enthält in der Ansicht wie folgt

    <dt>ID</dt>
    <dd>@Model.Id</dd>

    <dt>Module ID</dt>
    <dd>@Model.ModuleId</dd>

     <dt>Owner</dt>
    <dd>@Model.Owner</dd>

    <dt>Module Type</dt>
    <dd>@Model.TypeName</dd>

    <dt>Module Kind</dt>
    <dd>@Model.KindName</dd>

    <dt>Ownership Start Date</dt>
    <dd>@Model.Start</dd>

    <dt>Ownership End Date</dt>
    <dd>@Model.End</dd>

    @foreach (var properties in Model.Properties)
    {
        <dt>Property Name</dt>
        <dd>@properties.Name</dd>
        <dt>Property Value</dt>
        <dd>@properties.Value</dd>
    }

Derzeit @Modell.Ende null ist, wird er von DateTime-Typ und ich hatte es um die null-Werte zulassen im viewmodel.
Da es null ist, das ist, was ich bin immer im Blick

Prüfen, ob der Wert vom Typ DateTime null ist in Sicht und zeigt leer, wenn null

Wie Sie sehen können, den Wert des Eigentums End-Datum ist der Wert der Name-Eigenschaft von unten. Wie kann ich einstellen, dass es leer ist, wenn der @Modell.Ende null ist?

Edit 1:

Mein Modell

public class OwnedModuleDetails
{
    public long Id { get; set; }

    public string ModuleId { get; set; }

    public string Owner { get; set; }

    public string KindName { get; set; }
    public string TypeName { get; set; }

    public DateTime Start { get; set; }

    public DateTime? End { get; set; }

    public IEnumerable<Property> Properties { get; set; }
}

Methode aus dem repository

     public OwnedModuleDetails GetModuleDetails(long id, string owner)
        {
//ReSharper disable ImplicitlyCapturedClosure
            var module = (_dbSis.OwnedModules.Where(t => t.Id == id).Select(m => new OwnedModuleDetails
//ReSharper restore ImplicitlyCapturedClosure
            {
                Id = id,
                ModuleId = m.ModuleId,
                TypeName = m.ModuleType.TypeName,
                KindName = m.ModuleType.ModuleKind.KindName,
                Owner = owner,
                Start = m.Start,
                End = m.End,
                Properties = m.PropertyConfiguration.PropertyInstances.Select(
                    x => new Property { Name = x.Property.Name, Value = x.Value })
            }));

            return (module.FirstOrDefault());
        }
  • Es ist seltsam, wie könnte man ein string-Wert in eine DateTime? geben. Sind Sie sicher, dass die End Eigenschaft ist DateTime? ? Wo ist dieser MicrophoneArrayRackModuleId aus?
  • Es ist, legen Sie das Datum und die Uhrzeit, ich mein Modell als ein edit, auch die Methode, die Controller-Aufrufe im repository
  • Wo ist dieser MicrophoneArrayRackModuleId aus? Können Sie nicht vielleicht eine solche Ausgabe für ein DateTime-Eigenschaft.
  • Mein Modell hat IEnumerable<Property> Properties - Eigenschaft, Klasse enthält eine Name (string) und Wert (string) MicrophoneRackModuleId ist einer der Proerties Name
InformationsquelleAutor Cybercop | 2013-07-29
Schreibe einen Kommentar