2010-07-26 7 views
2

J'ai un trois tables de base de données connexes par exemple: société (de une à une) Contact (de un one) Adresse,vues partielles dans ASP.NET MVC?

Je dois créer une entreprise, puis créer un contact pour la société, puis créer une adresse pour contact une page (pour faciliter les choses pour l'utilisateur).

l'utilisateur doenst remplir tous les détails à la fois et le soumettre, il peut créer une entreprise aujourd'hui, puis ajouter le contact demain et après demain modifier les détails de l'entreprise et etc .. les actions sont randoms par les utilisateurs.

Il existe plusieurs façons, mais quelle est la meilleure façon d'y parvenir en utilisant ASP.NET MVC ??

grâce

+0

Ceci est entièrement subjectif. –

Répondre

0

mon humble avis, la meilleure façon serait d'avoir un PartialView pour chaque table et pour la vue d'avoir un modèle de vue formulaire qui a chaque objet de table comme une propriété

FormViewModel 
    Company company {get;set;} 
    Contact contact {get;set;} 
    address address {get;set;} 

Vous feriez retourner le modèle ci-dessus à la vue dans le contrôleur return View(FormViewModel);

Ensuite, lorsque vous rendez chaque partiel que vous passez dans le modèle approprié.

Html.RenderPartial("ContactEntry", Model.contact); 

Lorsque vous soumettez le formulaire que vous le faites alors un TryUpdateModel pour saisir les valeurs et commencer à économiser sur votre couche de données.

EDIT En réponse à Robert

Sam, vous auriez également veiller à ce que soit les champs sont activés/désactivés lorsque les données sont complétées. Par exemple, vous ne pouvez pas avoir un contact avec/une entreprise en premier.

Vous pourriez, si vous êtes suffisamment excité, vérifier les données telles qu'elles sont remplies. Ainsi, lorsque l'utilisateur remplit le formulaire, vous activez les champs sans sauvegarder d'abord. Vous pouvez le faire avec jQuery et même les validateurs côté client que vous pouvez écrire dans MVC.

+0

Le flux de travail devrait être un peu plus défini que cela. Sinon, il devient juste [App de votre entreprise] (http://noisydecentgraphics.typepad.com/design/images/2008/03/11/yourproduct.jpg). –

+0

activé/désactivé que les données sont remplies <- merci pour le conseil. – Bart

Questions connexes