从控制器到视图的视图数据中的对象列表

时间:2018-06-20 00:18:20

标签: c# asp.net asp.net-mvc razor

我是ASP.net Mvc的初学者。 我试图在视图上打印来自控制器的对象列表。

这是我的控制器:

namespace PhoneTeleX.Controllers
{
public class SondageController : Controller
{
    Guid idSondage;
    bool termine;
    int TEC_ID;
    string TQ_Libelle;
    string lblEntrepriseCliente;

    public Guid IdSondage { get => idSondage; set => idSondage = value; }
    public bool Termine { get => termine; set => termine = value; }
    public int TEC_ID1 { get => TEC_ID; set => TEC_ID = value; }
    public string TQ_Libelle1 { get => TQ_Libelle; set => TQ_Libelle = value; }
    public string LblEntrepriseCliente { get => lblEntrepriseCliente; set => lblEntrepriseCliente = value; }

    public SondageController(Guid leID, bool leTermine, int leTEC, string leLibelle,string laEntreprise)
    {
        IdSondage = leID;
        Termine = leTermine;
        TEC_ID1 = leTEC;
        TQ_Libelle1 = leLibelle;
        lblEntrepriseCliente = laEntreprise;
    }

    public SondageController() { }

    public ActionResult SelectionSondage()
    {
        ViewData["Sondages"] = DAOSelectionSondage.refreshSondages();
        return View();
    }
}
}

这是我的观点

@{
ViewBag.Title = "SelectionSondage";
}

<html>
<head>
<meta charset="utf-8" />
<title>PhoneTeleX</title>

        Recherche&Sélectionde Sondages

<div>
    <input id="Text1" type="text" placeholder="Tapez ici le code ou nom du sondage désiré..." /> <button class="waves-effect waves-light btn" style="background-color: #008CBA; margin-left : 1.5%;" runat="server" OnClick="LogIn" Value="Rechercher">Rechercher</button>
</div>
<br />
<br />
<div>

    <!-- Affichage par table row de chaque Sondage-->
    <table>
     @foreach (SondageController myObject in ViewData["Sondage"])
    {
       @myObject.lblEntrepriseCliente; //this doesn't work, 
    }
    </table>
</div>

如您所见,我的Controller中的SelectionSondage方法返回了我从SQLServerDatabase创建的对象列表(即在该项目上未使用EntityFramework)。 我的最终目标是打印对象的内容,如您所见。 这就是为什么我想将View对象列表放入ViewData中,以便最终在视图中显示它们。

你能帮我吗?

1 个答案:

答案 0 :(得分:0)

好的,我不得不这样做=>

我的控制器:

public ActionResult SelectionSondage()
    {
        //ViewData["Sondages"] = DAOSelectionSondage.refreshSondages();
        ViewData["test"] = "bonjour ceci est un test";
        ViewData["listeSondages"] = DAOSelectionSondage.refreshSondages();
        return View("SelectionSondage");
    }

我的观点:

 @foreach (var SondageController in ViewData["listeSondages"] as List<PhoneTeleX.Controllers.SondageController>)
    {
        <p>@SondageController.LblEntrepriseCliente</p>
    }