Как да създадете динамична мрежа с помощта на mvc 3 aspx двигател?

Нов съм в asp.net mvc 3. Опитвам се да генерирам динамичен gridview с помощта на mvc3, но не мога да създам мрежа. Моят код по-долу:

Модел:


  public class Employee
    {
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public double Salary { get; set; }
        public static List<Employee> GetList()
        {
            List<Employee> employees = new List<Employee>{
          new Employee   { FirstName="Rahul", LastName="Kumar", Salary=45000},
          new Employee   { FirstName="Jose", LastName="Mathews", Salary=25000},
          new Employee   { FirstName="Ajith", LastName="Kumar", Salary=25000},
          new Employee   { FirstName="Scott", LastName="Allen", Salary=35000},
            new Employee   { FirstName="Abhishek", LastName="Nair", Salary=125000}
            };
            return employees;
        }
    }

Контролер


  public class EmployeeController : Controller
    {
        //
        // GET: /Employee/

        public ActionResult Index()
        {
            var empoyees = Employee.GetList();
            return View(empoyees);
        }

    }

Преглед:


<%
    var grid = new WebGrid(source: Model, defaultSort: "FirstName", rowsPerPage: 3);
    using (Html.BeginForm())
    {
        %>
        <div id="grid">
        <%:grid.GetHtml(tableStyle:"grid", 
        headerStyle:"head", 
        alternatingRowStyle:"alt",
        columns:grid.Columns(
        grid.Column("FirstName"),
        grid.Column("LastName"),
        grid.Column("Salary"))) %>
        </div>
        <%} %>

искам да създавам


grid.Column("FirstName"),
        grid.Column("LastName"),
        grid.Column("Salary"))

динамично връщане на действие на контролера. Как да върна динамична колона или динамичен мрежов изглед или разширения?


person loki    schedule 28.06.2012    source източник
comment
Може ли по-ясни, динамични колони? Какво точно имате предвид под динамични колони?   -  person Hari Gillala    schedule 28.06.2012
comment
Искате ли да кажете, че искате всяка колона да чете динамична стойност? Или буквално Име като колона 1, Фамилия като колона 2 и Заплата като колона 3?   -  person Ecnalyr    schedule 28.06.2012
comment
възможен дубликат на ASP.NET MVC $.post извикване, връщащ низ...нуждая се от помощ за формат за jqGrid   -  person loki    schedule 28.06.2012


Отговори (2)


@programmerist, Това е вашият отговор ;)

@{
    var properties = typeof(MyModelClassName).GetProperties();
    var webGridColumns = properties.Select(prop => new WebGridColumn()
        {
            ColumnName = prop.Name, Header = prop.Name, Style = "my-style"
        }).ToList();

    var grid = new WebGrid(source: Model, rowsPerPage: 3);
    @grid.GetHtml(tableStyle: "grid",
                  headerStyle: "head",
                  alternatingRowStyle: "alt",
                  columns: webGridColumns)
}
person RAM    schedule 24.01.2013

Опитайте тази. По този начин можете да създадете мрежа:

<table>
 <tr>
     <th>
         Item1
     </th>
     <th>
         Item2
     </th>
     <th>
         Item2
     </th>
 </tr>

<% foreach (var item in Model) { %>
    <tr>
        <td>
            <%: item.item1 %>
        </td>
        <td>
            <%: item.item2 %>
        </td>
        <td>
            <%: item.item3 %>
        </td>           
    </tr>
<% } %>
</table>
person RL89    schedule 28.06.2012
comment
искам да произвеждам артикул 1,2,3 динамично - person loki; 28.06.2012
comment
откъде получавате името на колоните, те трябва да се генерират динамично? - person RL89; 28.06.2012
comment
Можете ли да опишете по-подробно вашия проблем? - person RL89; 28.06.2012