2012-01-04 1 views
2

Ce qui est fait:contrôles utilisateur Dynamiquement ajoutant à la page en utilisant le framework ASP.NET MVC 3

1 sur les contrôles utilisateur page d'enquête unique sont ajoutées dynamiquement. Il est mis en œuvre en utilisant ASP.NET 4.0, En appuyant sur "Suivant", l'utilisateur "Précédent" boutons obtient un autre 5-10 contrôles (qui est construit dynamiquement et ajouté à la page Survey - trivial ASP.NET GET/POST), et les données saisies/sélectionné sur groupe précédent de la page des contrôles est enregistré à DataBase

Ce qui est déterminé dans l'exécution:

  • le nombre d'utilisateur contrôle
  • type de contrôles utilisateur (liste des boutons radio, cases à cocher, zone de texte etc. à l'intérieur des contrôles utilisateur)
  • le nombre de contrôles asp.net à l'intérieur du contrôle utilisateur (nombre de rad bouton io dans la liste radiobutton (qui, à son tour, se trouve dans le contrôle de l'utilisateur), le nombre de cases à cocher à l'intérieur contrôle utilisateur, etc.))

Y at-il moyen de mettre en œuvre cette fonctionnalité en utilisant MVC 3? (Sans gros problèmes)

Pourquoi cette mise en œuvre est considérée, parce que:

  • Il permet do-remplacer AJAX des contrôles à la page de l'enquête
  • Dans le plus proche future application doit fournir les mêmes fonctionnalités pour les appareils mobiles, ici MVC 4 arrive à l'arène avec de nouvelles fonctionnalités pour les appareils mobiles.

(toutes les suggestions sont les bienvenues)

Répondre

1

Je vais supposer que vous utilisez le moteur de vue standard, mais il est assez facile de faire ce que vous avez besoin. Utilisez simplement RenderPartial et fournissez votre nom de contrôle/vue et votre modèle de vue.

<% RenderPartial("MyControl",theViewModel) %> 

Vous pourriez faire quelque chose comme ceci. Il suppose que vous avez une collection de données qui contient une propriété qui est le nom de votre contrôle/vue partielle et une propriété qui contient le modèle de données.

<% for (int i=0;i<data.Count;i++) { 
    RenderPartial(data[i].ControlTypeName, data[i].Model); 
}%> 
+0

Merci pour la réponse, je vais essayer votre approche. – Aleks

Questions connexes