Korpin
Korpin

Reputation: 325

Send data to a View and display it

My issue is the following:

I can not send my data for display in my view.

First, you must know that I connect to an external Filemaker DB and that the "results" variable retrieves this data.

"results" is of type IEnumerable .

For the recovery part, results contains my model that he found.

But it seems that I'm missing a piece of code because my view does not show any data.

Indeed, my goal is to send existing data into a form.

Could you help me?

Controller

   [Authorize]
    public ActionResult Index()
    {
        //HttpContext.Session.SetInt32("idMember", 26);

        List<Models.Members> list = new List<Models.Members>();
        Models.Members m = new Models.Members();
        m.Member_NameFirst = "test1";
        Models.Members m2 = new Models.Members();
        m2.Member_NameFirst = "test2";
        list.Add(m);
        list.Add(m2);
        IEnumerable<Models.Members> members = list;
        return View(list);
    }

View

@model IEnumerable<Members>


@foreach (var item in Model)
{
    @Html.DisplayFor(o => item.Member_NameFirst)
}

Upvotes: 0

Views: 100

Answers (1)

Wing Kui Tsoi
Wing Kui Tsoi

Reputation: 544

Something like this for your result:

@model IEnumerable<BlockedIPViewModel>

Ref. How to pass IEnumerable list to controller in MVC including checkbox state?

This is my successful example.

Class:

namespace Test.Models
{
    public class Members
    {
        public string Member_NameFirst { get; set; }
    }
}

Controller:

public ActionResult Index()
{
    // Test data
    List<Members> list = new List<Members>();
    Members m = new Members();
    m.Member_NameFirst = "test1";
    Members m2 = new Members();
    m2.Member_NameFirst = "test2";
    list.Add(m);
    list.Add(m2);
    IEnumerable<Members> members = list;
    return View(list);
}

[Index] View:

@model IEnumerable<Test.Models.Members>

@foreach (var item in Model)
{
    @Html.DisplayFor(o => item.Member_NameFirst)
}

Be careful of your view @model as well.

Upvotes: 2

Related Questions