2011-01-12 3 views
1

Quelle est la meilleure façon de rendre un objet de données en HTML? Prenez en considération que mon objet devrait être dessiné dynamiquement sur la page et qu'il sera composé de plusieurs contrôles (étiquettes, TextBoxes, CheckBoxes, DropdownLists ... etc.).Meilleure façon de rendre un objet au format html

Mon objet est un rapport qui contient des sections.

Chaque section contient des groupes. Les groupes doivent être dessinés en mode Accordion.

Les groupes contiennent des champs qui seront affichés sous la forme d'étiquettes, de zones de texte, de cases à cocher ou éventuellement de listes déroulantes en fonction du type de zone spécifié.

Quelle est la meilleure façon de rendre cet objet?

J'utilise asp.net mvc 2

Répondre

1

Regardez DisplayTemplates. Cela fonctionne comme ceci: Vous avez un fichier ascx "vue partielle", avec le même nom que votre classe et "fortement typé". Mettez-le dans/Vues/Shared/DisplayTemplates ».

Ensuite, vous pouvez simplement utiliser Html.Display ("nomVar", "className"), pour montrer votre objet avec le DisplayTemplate

Controller:

.
ViewData["var"] = new MyClass(); 

Voir:

Html.Display("var","MyClass"); 

vues/Shared/DisplayTemplates/MyClass.ascx

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<MyNamespace.MyClass]>" %> 
<div class="Hey"> 
    <!-- code for showing my class here --> 
    <% Model.Property; //Model is of type MyClass 
      %> 
</div> 

http://www.asp.net/mvc/videos/mvc2-template-customization

http://weblogs.asp.net/scottgu/archive/2010/01/10/asp-net-mvc-2-strongly-typed-html-helpers.aspx

0

La meilleure façon est de créer une vue, puis utilisez la classe/méthodes d'aide Html. Voir here, pour plus d'informations.

Quelque chose comme cela devrait vous aider à démarrer:

<% Html.TextBox("stringData", Model.YourString) %> 
<% Html.CheckBox("boolData", Model.YourBool) %> 
Questions connexes