Есть БД с перечнем кандидатов, с помощью EF создал DbContext -
VoterContext VC = new VoterContext();
из которого вытягиваю данные в представление
public ActionResult Candidats()
{
IEnumerable<Candidat> candidats = VC.candidats;
ViewBag.Candidat = candidats;
return View();
}
В представлении данные из БД транслируются с помощь цикла @foreach
@foreach (var b in ViewBag.Candidat)
{
<tr>
<td><p>@b.CandidatInfo</p></td>
<td><p>@b.CandidatPartion</p></td>
<td><p>@b.CandidatProgramm</p></td>
<td><p><a href="/Home/Vote/@b.CandidatId">Проголосовать</a></p></td>
</tr>
}
В цикле есть переход к методу
<a href="/Home/Vote/@b.CandidatId">Проголосовать</a>
Вопрос: Как создать метод в контроллере, который при нажатии на кнопку транслировал бы только те данные из выборки @foreach, которую выбрал пользователь? То есть - в синтаксис Razor вместо @b. поместить CandidatId указанного кандидата?
Прошу прощения за не точности в вопросе, из за этой "чудо-технологии" сплошная каша в голове.
Есть метод в контроллере, который выводит перечень данных в компонент View с помощью @foreach цикла.
Нет, это не метод и не в контроллере, это кусок кода из вьюхи.
ActionResult Vote(string id)
{
достать данные из бд по id
return View(данные)
}
Вообще, как-то размыто написано, уточните ваш вопрос.
Я бы вам советовал по Модели организовать View (строго типизированно)
@foreach (var b in Model)
{
<tr>
<td><p>@b.CandidatInfo</p></td>
<td><p>@b.CandidatPartion</p></td>
<td><p>@b.CandidatProgramm</p></td>
<td><p>@Html.ActionLink("Проголосовать", "Vote", "Home", new { id = @b.CandidatId, info= @b.CandidatInfo, data = @b.CandidatPartion }, null</p></td>
</tr>
}
Вы должны именно по "id" отправлять потому что маршрутизация по умолчанию у вас такая
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
А далее вы эти "id, info, data" получаете в Controller - Home, в методе Vote
public ActionResult Vote(int? id, string info, string data)
{
// Something
return View()
}
Если я конечно правильно всё понял
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
учусь писать автотесты, стал вопрос как запустить параллельное выполнение тестов на нескольких браузерах(допустим на 4х), если использовать...
Есть виртуалка на базе Vmware с Windows 7В ней прикручена папка с основной машины как сетевой диск по адресу Z:\Work\Program\Test\Test
Не смог сформулировать заголовок, попробую объяснитьПо сети получаю данные, среди данный есть id устройства
Не понимаю, зачем во многих языках используется тип данных const, если можно создать int и не менять его? Прошу объяснить и привести пример