2009-09-29 8 views
1

Dans mon application actuelle, nous créons dynamiquement des contrôles à l'intérieur du panneau en fonction de la valeur de la base de données . Comme, Type de contrôles, Style, largeur, etc Est-il possible de faire quelque chose comme ça en utilisant ASP.NET MVC?créer des contrôles dynamiques avec ASP.NET MVC

Merci, Alpes

Répondre

3

ASP.Net MVC ne pas utiliser les contrôles serveur comme ASP.Net webforms fait. Ce que vous parlez est certainement possible, mais MVC vous descend au niveau HTML, plutôt que de l'abstraire dans les contrôles.

Vous voudrez probablement utiliser des vues partielles, ou bien regarder l'ajout de méthodes d'extension à la classe HTMLHelper pour vous aider à générer du contenu dynamique.


Voici un exemple très simple de méthode d'extension HtmlHelper. C'est simple, bien sûr, mais vous pouvez voir comment il serait facile de l'étendre pour produire le code HTML dynamique dont vous auriez besoin. Cette méthode prend une valeur d'entrée et ne renvoie aucun html si elle est nulle, la valeur plus une balise "<br>" si "addBr" est défini sur true, ou juste la valeur si "addBr" est false.

public static string FieldOrEmpty(this HtmlHelper<T> helper, 
            object value, bool addBr) 
     { 
      if (value == null) 
      { 
       return string.Empty; 
      } 
      else if (addBr) 
      { 
       return value.ToString() + "<br />"; 
      } 
      else 
      { 
       return (value.ToString()); 
      } 
     } 
    } 

que vous appelleriez cela dans votre vue avec

<%= HtmlHelper.FieldOrEmpty(Model.Field1) %> 
+0

Avez-vous un exemple? Pour ce qu'il décrit, une méthode Html Helper avec un style est probablement en ordre. –

+0

Bonne idée ... fait ...... – womp

Questions connexes