2010-07-12 6 views
1

Je suis longtemps familier avec l'utilisation du ASP.net GridView sous des formes ASP.net pour afficher le contenu de DataSet sur une page Web.Quelle est la meilleure pratique pour afficher le contenu d'un DataSet dans ASP.net MVC v1.0?

Quelle est la meilleure pratique pour afficher le contenu du DataSet dans ASP.net MVC? Je peux ajouter le DataSet à mon dictionnaire DataVew dans mon contrôleur, mais je ne suis pas sûr de la façon de l'afficher dans la page View.

Répondre

1

Vous pouvez voir ma réponse here. Si vous avez encore des questions, je serai heureux de faire ce que je peux.

+0

Comme je l'ai mentionné, j'ai ajouté le DataSet au dictionnaire DataView dans le contrôleur. Je ne sais pas comment afficher les données dans une table en dehors de simplement faire un Response.Write ("

...") –

+0

Si vous recherchez des contrôles serveur, vous ne les trouverez pas. Vous pouvez utiliser css et une combinaison d'éléments UL/OL/LI pour mettre en forme vos informations ou vous pourriez, comme vous l'avez indiqué, utiliser des tableaux. Si vous cherchez quelque chose à databind, vous n'avez pas de chance. – andymeadows

0

Les ensembles de données sont rares pour les applications ASP.NET MVC. Il n'y a aucun contrôle côté serveur qui vous permettra d'afficher le contenu d'un DataSet comme contrôle GridView dans WebForms. Donc, si vous cherchez une meilleure pratique, je vous suggère de mettre en place un traitement côté serveur qui va convertir votre DataSet en une hiérarchie d'objets .NET que vous passeriez à une vue fortement typée. Bien sûr, s'il s'agit d'une nouvelle application, vous n'aurez même pas besoin d'aller chercher les données dans un formulaire DataSet, mais vous utiliserez un ORM qui vous donnera directement des objets .NET.

Donc, une fois que vous avez les objets que vous pouvez jeter un oeil à la MVCContrib Grid helper. Bien sûr, comme vous utilisez ASP.NET MVC 1.0, vous devrez vous assurer de télécharger la version correcte de MVCContrib qui est compilée parce que la version actuelle est compilée avec ASP.NET MVC 2.0.

+0

OK alors. Mon application doit afficher certaines données tabulaires d'un serveur SQL. Quelle est la meilleure pratique pour faire cela? –

+0

Je vous recommande de lire l'un des centaines de tutoriels disponibles ici: http://www.asp.net/mvc/tutorials/creating-model-classes-with-the-entity-framework-cs –

0

Si vous utilisez SQL Server, puis pour MVC vous voulez être en utilisant Entity Framework. Depuis Oracle m'a répondu avec une réponse boiteuse au sujet de Microsoft ne leur donnant pas les spécifications (DEVART a fait Oracle à Entity Framework pendant des années)

Peu importe, si vous avez un jeu de données (utilisez un datatable si vous n'avez pas besoin d'un ensemble de données lourd) puis de rendre votre vie vous voulez facile de convertir votre ensemble de données à une liste (si vous fourni un ensemble de données par exemple un service Web ou une couche ... Ainsi quelque chose comme

public IEnumerable<IClient> GetClient(IClient client) 
    { 
     DataSet dataSet = .... 
     ..... 
     List<IClient> clients = (from c in dataSet.Tables[0].AsEnumerable() 
           select new Client() 
     ..... 
     return clients; 
    } 

ensuite, dans votre contrôleur: iClient client = (iClient) TempData [ "client"];

 // Instantiate and instance of the repository 
     var repository = new Get_Client_Repository(); 
     // Set a model object to return the dynamic list from repository method call passing in the parameter data 
     var model = repository.GetClient(client); 

     // Call the View up passing in the data from the list 
     return View(model); 

Puis dans votre Vue:

@model IEnumerable<CISOnlineMVC.DAL.IClient> 

    @foreach (var item in Model) { 

    <tr> 
    <td> 
     @Html.ActionLink("Select", "ClientDetails", "Cis", new { id = item.ClientId }, null) | 
    </td> 
    <td> 
     @item.LastName 
    </td> 
    ....... 
    } 
Questions connexes