Bonjour,

Je suis en train de faire mon premier projet .Net et je cherche à faire afficher dans une page aspx le résultat de 2 requêtes SQL différentes.

J'utilise le template ASP.Net MCV 2.

J'ai une page qui affiche le détail d'un enregistrement d'une base de données (une page de détail).
Dans cette page je veux faire une autre requête dans une base de données pour lister les enregistrement d'une seconde table de ma BD.

genre... ma page:

--lister les projets------
- projet 1 -
- projet 2 -
- projet 3 -
- projet 4 -
- projet 5 -
-----------------------

**détail d'un projet********************************
* nom du projet : nom *
* description du projet : description *
* description longue du projet : description longue *
* longitude : longitude *
* latitude : latitude *
***********************************************


Je pensais qu'il suffisait de faire une nouvelle méthode dans mon controlleur pis de faire un foreach dans ma page aspx.
Mais je ne suis pas capable de retourner le résultat à ma page ASPX depuis mon controlleur.

voici ma page aspx



Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<div id="menu2">
<ul>
<%  var i = 1;
    foreach (var item in MonControlleur.getListeProjet()) { %>
    <li><%= Html.ActionLink("Projet " + i, "Details", new { id=item.id })%></li>
<% i++;
   } %>
</ul>
</div>       
<div id="centre">
    <h2>Voir les informations en détail <%= Html.Encode(Model.nom) %></h2>

    <fieldset>
        <legend>Fields</legend>
 
        <div class="display-label">nom</div>
        <div class="display-field"><%= Html.Encode(Model.nom) %></div>
       
        <div class="display-label">descrCourte</div>
        <div class="display-field"><%= Html.Encode(Model.descrCourte) %></div>
       
        <div class="display-label">descrLong</div>
        <div class="display-field"><%= Html.Encode(Model.descrLong) %></div>
       
        <div class="display-label">longitude</div>
        <div class="display-field"><%= Html.Encode(Model.longitude) %></div>
       
        <div class="display-label">latitude</div>
        <div class="display-field"><%= Html.Encode(Model.latitude) %></div>
       
    </fieldset>
    <p>
        <%= Html.ActionLink("retour à la liste", "Index") %>
    </p>
</div>
</asp:Content>

voici mon controlleur:


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using SiteWeb.Models;
using System.Web.Mail;

namespace SiteWeb.Controllers
{
    public class ProjetsController : BaseController
    {
        SiteWebEntities _bd = new SiteWebEntities();
       
        //
        // GET: /Projets/

        public ActionResult Index()
        {
            return View(_bd.projet.ToList());
        }

        //
        // GET: /Projets/Details/5

        public ActionResult Details(int id)
        {
            var projetToDetail = (from projet in _bd.projet
                                  where projet.id == id
                                  select projet).First();
            return View(projetToDetail);
        }

        public List<projet> getListeProjet()
        {
            return _bd.projet.ToList();
        }

    }
}
Vous avez une solution.... un site de référence, un article, ou bien un exemple.... etc.

Merci à l'avance.