MVC Erreur: L'élément de modèle adopté dans le dictionnaire est null

Je suis juste en train de construire un point de vue, mais j'obtiens l'erreur suivante:

Système.InvalidOperationException: L'
l'élément de modèle adopté dans le dictionnaire
est nulle, mais ce dictionnaire exige
une valeur non nulle de l'élément de modèle de type
'Système.DateTime

Maintenant, je sais pourquoi c'est à venir, le champ particulier de la base de données est null, cependant il est censé être, que c'est quelque chose qui est modifié à une date ultérieure. Voici mon code:

Action

public ActionResult View(Int64? Id)
    {

        ModelContainer ctn = new ModelContainer();
        var item = from t in ctn.Items where t.ItemID == Id select t;
        return View(Item.First());
    }

Vue Principale

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Administrator.Master" Inherits="System.Web.Mvc.ViewPage<myApp.Data.Item>" %>

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    View
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

    <% Html.RenderPartial("Details", Model); %>

</asp:Content>

<asp:Content ID="Content3" ContentPlaceHolderID="Header" runat="server">
<h1>Details - <%= Model.MainItem %></h1>
</asp:Content>

Vue Partielle

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<myApp.Data.Item>" %>
<%@ Import Namespace="myApp.Supplier.Web.Extensions" %>

    <fieldset>

        <legend>Information</legend>

        <div class="fieldset">

            <%= Html.LabelFor(m => m.MainItem)%>
            <%= Html.DisplayFor(m => m.MainItem, "FormTextShort")%><br />
            <%= Html.LabelFor(m => m.Supplier.Name)%>
            <%= Html.DisplayFor(m => m.Supplier.Name, "FormTextShort")%><br />
            <%= Html.LabelFor(m => m.ProductCode)%>
            <%= Html.DisplayFor(m => m.ProductCode, "FormTextShort")%><br />
            <%= Html.LabelFor(m => m.Product.SubmissionDate)%>
            <%= Html.DisplayFor(m => m.Product.SubmissionDate, "FormDateShort")%><br />
            <%= Html.LabelFor(m => m.Product.SentForRepair)%>
            <%= Html.DisplayFor(m => m.Product.SentForRepair, "FormDateShort")%><br />
         </div>

    </fieldset>

Dans ce cas, le x.Produit.SentForRepair date est à gauche null, parce qu'au moment de la soumission, il n'a pas encore été envoyé. J'ai d'autres domaines comme, par exemple, prixtotal, etc toutefois, pour des raisons de simplicité, je n'ai pas inclus ici. Si je commente la SentForRepair lignes, la Vue affiche parfaitement avec les autres informations.

Je serais très reconnaissante si quelqu'un pouvait me diriger dans la bonne direction quant à la façon de contourner cette erreur!! 🙂

OriginalL'auteur 109221793 | 2011-01-28