ASP.NET MVC de Formulaires Dynamiques
Quelqu'un peut-il suggérer un bon moyen de développer des formes dynamiques avec ASP.NET MVC?
J'ai des listes déroulantes en cascade sur la page (les options dans la liste déroulante dépend de la valeur sélectionnée dans le menu déroulant).
Toutes les valeurs proviennent de la base de données.
Comment puis-je mettre en œuvre un tel comportement à l'aide de ASP.NET MVC?
Bien sûr, j'aimerais recevoir toutes les valeurs dans l'automate quand je soumettre mon formulaire.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez le faire très facilement à l'aide de mon FormFactory bibliothèque.
Par défaut, il reflète l'encontre d'un modèle de vue de produire un
PropertyVm[]
tableau:``
``
mais vous pouvez également créer les propriétés par programmation, de sorte que vous pouvez charger paramètres à partir d'une base de données, puis créer
PropertyVm
.Ceci est un extrait de un Linqpad script.
``
``
Theres un site de démonstration avec des exemples des différentes fonctionnalités que vous pouvez mettre en place (par exemple, les collections imbriquées, la saisie semi-automatique, datepickers etc.)
using (var form = Html.FormForAction((HomeController c, string p0, string p1, bool p2, string p3) => c.SignIn(p0, p1, p2, p3)))
il y a 4 vairables, mais l'action se 3 variables, 2) Comment soumettre effectuée dans la deuxième forme, pouvez-vous développer la documentation un peu s'il vous plaît, 3) comment puis-je faire Lat Long, Fa-Icônes?Si vous avez besoin d'avoir une certaine dynamique des champs de votre formulaire, pour vous le meilleur moyen serait d'utiliser des frameworks javascript comme Angulaire, Épine dorsale, Knock-out etc.
Si vous avez besoin de quelque chose de plus ou moins simple, il vous suffit d'utiliser les Huitièmes de finale. Pour des configurations plus avancées, je recommanderais Angulaire, mais c'est ma préférence personnelle.
Ici est une simple mise en œuvre d'un formulaire dynamique avec knock-out:
JS:
HTML:
Maintenant, qu'en est ASP.NET MVC?
C'est plus délicat. Peut-être le meilleur et le plus simple serait d'utiliser Ajax et post JSON à ASP.NET MVC Action. Tout d'abord, vous aurez besoin pour obtenir un objet JSON de votre formulaire. Avec knock-out, c'est très simple:
Maintenant, quand nous savons comment obtenir JSON de forme, la prochaine étape est d'envoyer vos données à une Action. jQuery est parfait pour ça:
Dans notre cas, nous avons essentiellement d'envoyer un tableau de chaînes de caractères, donc ASP.NET MVC action doit ressembler à cela:
Ce n'est certainement pas la seule option de la façon de mettre en œuvre des formes dynamiques, mais je pense que c'est assez efficace. Espérons que cela aide.
Vous pouvez utiliser FormCollection en tant que paramètre à recevoir toutes les données qui provient de la forme:
Je voudrais créer des vues partielles pour chaque option de la liste déroulante et d'autres champs.
Que contrôleur, qui sera de retour de telles parties de html selon déroulante valeur:
Puis il suffit de l'appeler avec jquery Ajax et ajouter votre forme actuelle avec le résultat de l'action, lorsque la valeur de la liste déroulante les changements.
Essayer cette http://mvcdynamicforms.codeplex.com/releases/view/43320
il devrait être utile