2011-12-06 5 views
0

J'essaie d'obtenir toutes les données qui sont soumises dans des zones de texte à une vue de retour à un contrôleur afin que je puisse enregistrer les données dans la base de données.ASP.NET MVC 3: obtenir toutes les données de la zone de texte d'une vue

Quelques informations: configuration Tâche Citation Professeur

La première vue que l'enseignant voit sont toutes les tâches qu'il a données (menu déroulant). Il peut choisir l'une de ces tâches et cliquer sur soumettre, puis il obtient une vue où il peut citer les étudiants qui ont soumis leurs tâches avant la date limite.

Ainsi, pour chaque étudiant, il peut changer les points s'il a fait une erreur ou cité la tâche. Après cela, certains points doivent être soumis. Ce que je veux savoir, c'est comment je récupère tous ces points (qui sont dans les zones de texte) à partir du formulaire afin que je puisse facilement les soumettre à la base de données.

Edit: Il semble que ma question est un peu difficile à comprendre si je l'ai fait un petit croquis de la situation actuelle et le problème - vous pouvez la voir ici - http://i43.tinypic.com/xap54m.jpg

problèmes possibles: i allready utilisation un viewmodel pour exiger la soumission d'une tâche. Est-il possible d'avoir à voir des modèles dans une vue?

+0

Donc, vous avez essentiellement un formulaire et vous devez conserver les données dans le formulaire à la base de données? –

+0

fondamentalement j'ai eu un tas de zones de texte à une vue où j'ai besoin des données de et le mettre dans un db. La question principale est comment j'obtiens toutes les données qui sont dans les zones de texte à mon contrôleur – user1082381

Répondre

0

Ceci est une question MVC vraiment basique. Vous devriez probablement lire le didacticiel/pdf du magasin de musique MVC ou le tutoriel Nerd Dinner car les deux montreront comment enregistrer/insérer dans la base de données en utilisant le framework Entity.

Je vais poster du code un peu plus tard.

0

Utilisez un autre modèle de vue. Pour utiliser deux viewmodels en une seule vue, que ce soit les lier ensemble dans une classe de modèle ou d'utiliser un tuple dans une vue comme celui-ci:

@model Tuple<model1, model2> 

Ensuite, vous pouvez y accéder comme ça.

Model.Item1.Something and Model.Item2.Something 
+0

alors ce que vous proposez utilise @model Tuple au début de ma vue afin que je puisse utiliser les deux viewmodels dans une vue et alors quand je l'ai soumis, que dois-je utiliser comme paramètre à la méthode ActionResult? – user1082381

+0

En fait, je ne sais pas pourquoi voudriez-vous avoir deux modèles. Utilisez simplement un, modèle avec tous les champs, puis la méthode ActionResult de votre contrôleur: 'public ActionResult Contact (vue ModelView) {}'. Pour utiliser vos champs, faites juste 'view.something' –

Questions connexes