为什么我看不到对象的详细信息(ID,名称等)。我正在使用 mvc 4、剃刀、实体框架



在我的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的值传递给控制器参数。

最新更新