J'écris une application Web de Core 3.0 MVC .NET 3.0 MVC. J'ai un modèle code> jobappaplication code> qui ressemble à ceci: Comme vous pouvez le constater, le modèle contient des références à l'offre d'emploi créée et le demandeur qui a créé L'application. P> J'ai aussi un contrôleur Comme vous pouvez le constater, l'un d'entre eux renvoie la vue Tout semble bien. Cependant, lorsque j'essaie d'ajouter une application et de soumettre le formulaire, je reçois une erreur: p> Je ne comprends pas. J'ai les deux champs de mon modèle. Comment faire ça va partir? P> Merci beaucoup à l'avance. P> p> jobapplicationController code> qui comporte 2
Créer code> Méthodes: p>
Create code>, l'autre obtient le modèle de la vue et l'ajoute à la base de données. Je souligne également que dans la première méthode, les champs «Jobofferoffer» et «demandeur» sont extraits de la base de données et ont transmis au formulaire avec un modèle. Voici comment la vue est configurée: p>
3 Réponses :
Vous devez utiliser cachée pour () au lieu de cachée (). p>
Lire ici à comprendre la différence entre les deux. p>
Je pense que c'est parce que nécessaire. Parce que la propriété de navigation est un objet complexe et ne doit pas être requis
Dans la vue, vous dites, sur un niveau plus abstrait, vous liez directement à l'entité de la base de données. Ce n'est jamais une bonne idée. Vous devez utiliser un modèle pour obtenir les valeurs affichées, puis copier ces valeurs à l'entité. Vous pouvez utiliser automapper pour le faire automatiquement pour vous. P> @ html.HÉDITS ("offre", modèle.joboffer) code>. Il devrait plutôt être
@ html.hidifié ("jobofferoffer", modèle.joboffer) code> car c'est le nom de la propriété. Vous ne feriez pas cette erreur si vous utilisiez cachée pour. P>
Merci, c'est une bonne suggestion.
Au lieu de caché pouvez-vous essayer caché pour?