在我的BussinessLayer中,我有ActivityService.cs具有下一个函数:
public Activity GetActivityByID(string activityID)
{
return _context.REE_ACTIVITY.Find(activityID);
}
在我的控制器中,我有:
public ActionResult ShowActivity(string id)
{
Activity activity = _activityService.GetActivityByID(id);
return View(activity);
}
在我拥有的活动列表的视图中。
<tbody>
@foreach (var act in Model)
{
<tr>
<td id = "tdIdActivity">@Html.ActionLink(@act.IdActivity, "ShowActivity", "Activityes")</td>
<td style= "text-align:left">@act.NameActivity @act.Equipement.NameEquipement - @act.TypesEquipement.NameTypeObjet</td>
<td id = "activityDate">@act.ActivityDate</td>
</tr>
}
</tbody>
在我的详细信息视图中,我首先显示 ID,然后显示另一个属性:
<div class = "Container">
<div >Activité numéro: @Html.LabelFor(model => model.IdActivity)</div>
</div>
@Html.LabelFor(model => model.IdActivity)
这将创建一个包含字段名称的标签,而不是字段的值。
那是你的问题;因为我认为你想要实际的价值。
@Model.IdActivity
假设您将单个实例传递给您的视图。
您的控制器似乎返回了一个Activity
实例作为模型:
Activity activity = _activityService.GetActivityByID(id);
return View(activity);
但是您的视图似乎期待一个作为活动集合的模型:
@foreach (var act in Model)
你没有提到你的问题。更具描述性,并解释您的期望和您得到什么。
在您的索引视图中尝试此操作
@Html.ActionLink("Details", "ShowActivity", "Activityes", new {id=Model.IdActivity})
在这里,"详细信息"是您要提供给actionlink的文本,"ShowActivity"是控制器的方法,"活动"是名称控制器,通过new将IdActivity的值传递给控制器参数。