С MVC
Вид:
@foreach (var item in Model)
{
<tr>
<td>@item.Something...</td>
<td>@item.AnotherThing</td>
<td>
<a href="@Url.Action("MyAction", "MyController", new { Id = item.Id })" class="btn"></a></td>
</tr>
}
Этот код Razor сгенерирует столько же кнопок, сколько и элементов коллекции в вашей модели. Каждый элемент в коллекции должен иметь уникальный идентификатор, и, как вы видите, мы указали этот идентификатор в качестве параметра. Поэтому, когда пользователь нажимает на любую из кнопок, уникальный идентификатор сообщит нам, какая кнопка была нажата (и на какой элемент мы должны ссылаться)
Контроллер:
public ActionResult MyAction(int id = 0)
{
var model = ReportViewModel(id);
return ReportView(model);
}
private ReportViewModel(int id)
{
// Get Report from Database Where Id = id
// Populate ViewModel from the database data
// Return reportViewModel;
}
РЕДАКТИРОВАТЬ (добавление примера на основе вашего кода)
@foreach (var item in Model)
{
<div class="floated">
<a href="@Url.Action("MyAction", "MyController", new { Id = item.Id })"
class="Estates_button">@item.EstateName</a>
</div>
}