[ Lacke @ 12.03.2014. 20:59 ] @
Radi svoj prvi projekat u ASP.NET MVC 4 i ceo dan se mučim, verovatno je odgovor smešan a moje pitanje još smešnije ali ja se ceo dan patim i učim...
Dakle, imam:

Model->Employee.cs
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Test.Models
{
    public class Employee
    {
        public int EmployeeId { get; set; }
        public string Name { get; set; }
        public string Gender { get; set; }
        public string City { get; set; }
        public int IDFirme { get; set; }
    }
}


Model->Testdb.cs
Code:
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Web;

namespace Test.Models
{

    public class Testdb : DbContext
    {      
        public DbSet<Employee> Employees { get; set; }
    }
}


Controllers->HomeControllers.cs
Code:
namespace Test.Controllers
{
    public class HomeController : Controller
    {
        Testdb _database = new Testdb();
        public ActionResult Index()
        {
            ViewData["zaposleni"] = _database.Employees.ToList();

            return View(ViewData["zaposleni"]);
        }


View->Home->indexcshtml
Code:

@model Test.Models.Employee 
    @{
        ViewBag.Title = "Index";
    }

    <h2>Index</h2>
    @foreach (var item in (ViewData["zaposleni"] as List<Test.Models.Employee>))
    {
        <td>item</td>
    }

@ViewData["zaposleni"]
    @*@if (ViewBag.Zaposleni == null)
        {
            <p>Prazno je</p>
        }
        else { <p>Puno je</p> }*@


Kako da prosledim promenljivu zaposleni do View-a, svaki put mi kaže da nije u tom kontekstu, ma šta kod pokušao. Ovo što sam sada napisao, znam da nije dobro, ali nisam više imao ideje šta da radim a Google mi i nije bio od pomoći jer zaista slabo poznajem sintaksu ASP-a... Hvala unapred...
[ dusans @ 12.03.2014. 21:04 ] @
Ti pokušavaš da proslediš listu Employee-s a View očekuje samo Employee-a i tu je verovatno greška.
Prva linija treba da bude valjda ovo:

Code:

@model List<Test.Models.Employee>


ili ovo:

Code:

@model IEnumerable<Test.Models.Employee>


Nema potrebe da stavljaš i u ViewData["zaposleni"] tu listu employee-a.
Dovoljno je da je proslediš kao parametar u View(...) i posle koristiš u samom View-u preko Model.

[Ovu poruku je menjao dusans dana 12.03.2014. u 22:14 GMT+1]
[ Lacke @ 12.03.2014. 21:30 ] @
Pokušao sam da prepravim, ali i dalje ne uspevam ništa pozitivno.
Code:
 @ViewData["zaposleni"] -> System.Collections.Generic.List`1[Test.Models.Employee] --> daje te rezultate


kada uradim foreach, nema nikakvih rezulata:
Code:
@foreach (var item in (ViewData["zaposleni"] as List<Test.Models.Employee>))
{
    <p>item</p>
}


[ dusans @ 12.03.2014. 22:14 ] @
Linija _database.Employees.ToList(); uvodi anonimni tip koji je nevidljiv za View.
Ili prepiši podatke u strogo tipiziranu listu ili se prebaci na IEnumerable umesto na List<...> svuda u View-u.
[ Lacke @ 13.03.2014. 16:54 ] @
Hvala u svakom slučaju na pomoći, nisam uspeo da uradim. Ima iskustva sa PHP-om, ovde mi je sve drugačije, buni me sintaksa a i pomalo mi nedostaje var_dump :D
Moram prvo preći osnovne stvari asp-a za mvc 4. Ne mogu pronaći njihovu dokumentaciju kao što ima PHP, da li je ovo možda msdn.microsoft.com/en-us/library/system.web.mvc(v=vs.108).aspx ?
[ Laki123 @ 08.04.2014. 09:19 ] @
Sa zakašnjenjem stiže odgovor

dusans je već pojasnio neke stvari, ali evo i konkretno neke ispravke

Umesto
Code:
ViewData["zaposleni"] = _database.Employees.ToList();
return View(ViewData["zaposleni"]);


Bolje je bez ViewData, ovako nekako
Code:
List<Employees> zaposleni = _database.Employees.ToList();
return View(zaposleni);


u view primaš listu zaposlenih pa treba
Code:
umesto @model Test.Models.Employee 
ovako
@model IEnumerable<Test.Models.Employee>


U View ima delova koji ne trebaju.
Trebaju sledeće izmene pošto sada prosleđuješ listu objekata Employees, a ne viewdata.
Code:

model IEnumerable<Test.Models.Employee>
<h2>Index</h2>
<table>
     @foreach (var item in Model)
     {
        <tr>
                <td>item.Name</td>
                <td>item.Gender</td>
                <td>item.City</td>
        </tr>
     }
</table>

@if (Model.Count() == 0)
         {
             <p>Prazno je</p>
         }
         else { <p>Puno je</p> }


Inače ViewData se ređe koristi, a ViewBag se obično koristi kada je potrebno u view proslediti manju količinu podataka. Kada se prosleđuju objekti tj. lista objekata koristi se Model, pa u view možeš koristiti intellisense. Prilikom dodavanja kontrolera, možeš koristiti ugrađenu mogućnost u Visual Studio Scaffolding, koja će ti dodati Action metode u kontroler i view za prikaz, dodavanje, brisanje, pa odatle možeš videti kako se pravi kontroler i view, a možeš i prilikom dodavanja view koristiti create strongly typed view.
Inače najbolje polazište za učenje ASP.NET MVC je asp.net