Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как получить доступ к отдельным элементам списка 
:(
    Опции темы
Karta
Дата 27.2.2013, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 4.6.2009

Репутация: нет
Всего: 0



Добрый день,
сделала простой проект, в котором отображается таблица даннных.
У меня вопрос: Как я могу получить доступ к отдельным элементам списка? Не могу нигде найти ответа.
Привожу свой код:
1. Я создала модель
Код

 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;
 
namespace MvcMovie.Models
{
    public class Movie
    {
        public int ID { get; set; }
        public string Title { get; set; }
        public DateTime ReleaseDate { get; set; }
        public string Genre { get; set; }
        public decimal Price { get; set; }
 
    }
 
    public class MovieDBContext : DbContext
    {
        public DbSet<Movie> Movies { get; set; }
    }
 
}
 

2. Сделала контролер
Код

using System.Data;
using System.Data.Entity;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MvcMovie.Models;
 
namespace MvcMovie.Controllers
{
    public class MoviesController : Controller
    {
        private MovieDBContext db = new MovieDBContext();
 
        //
        // GET: /Movies/
 
        public ActionResult Index()
        {
            return View(db.Movies.ToList());
        }
...

 Сделала представление
Код

@model IEnumerable<MvcMovie.Models.Movie>
 
@{
    ViewBag.Title = "Index";
}
 
<h2>Index</h2>
 
<p>
    @Html.ActionLink("Create New", "Create")
</p>
<table>
    <tr>
        <th>
            @Html.DisplayNameFor(model => model.Title)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.ReleaseDate)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.Genre)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.Price)
        </th>
        <th></th>
    </tr>
 
@foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.Title)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.ReleaseDate)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Genre)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Price)
        </td>
        <td>
            @Html.ActionLink("Edit", "Edit", new { id=item.ID }) |
            @Html.ActionLink("Details", "Details", new { id=item.ID }) |
            @Html.ActionLink("Delete", "Delete", new { id=item.ID })
        </td>
    </tr>
}
 
</table>
 

Вот, в представлении выводится весь список по элементно... А мне нужно, что б выводился только конкретеый фильм из списка.
Например:
Хороший фильм. Комедия. 01/02/2013. 150 руб.

Как этого добиться? Может кто сталкивался с этим?

Спасибо. 
PM MAIL   Вверх
boevik
Дата 27.2.2013, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: нет
Всего: 35



определи что бы Index принимал параметер Id
Код

//GET: /Movies/5
 public ActionResult Index(int ID)
        {
            if (ID != null)
                    return View(db.Movies.ToList().Where(k =>k.ID == ID));
            return View(db.Movies.ToList());
        }




Это сообщение отредактировал(а) boevik - 27.2.2013, 13:06


--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
Karta
Дата 27.2.2013, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 4.6.2009

Репутация: нет
Всего: 0



У меня 2 вопроса:
1. Что такое "к" .И как мне прописать это в представлении?
2. Если мне нужно в моем представлении в 1 части страницы отобразить например только 2 фильма из списка, а в другой части страницы еще 2 фильма из списка ( в списке 20 фильмов). КАк тогда быть?

Это сообщение отредактировал(а) Karta - 27.2.2013, 13:50
PM MAIL   Вверх
boevik
Дата 27.2.2013, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: нет
Всего: 35



Цитата(Karta @  27.2.2013,  13:25 Найти цитируемый пост)
1. Что такое "к"

k - это об`ект в листе (может быть любая буква);

Цитата(Karta @  27.2.2013,  13:25 Найти цитируемый пост)
2. Если мне нужно в моем представлении в 1 части страницы отобразить например только 2 фильма из списка, а в другой части страницы еще 2 фильма из списка ( в списке 20 фильмов). КАк тогда быть? 

Желательно сделать соотвествующий _Layout, который отабразит несколько PartialViews, каждый PartialView строит табличку из Model передаваемой ему.


--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0559 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.