如何使用另一个表的ID显示表列?

时间:2019-12-16 07:37:14

标签: c# visual-studio model-view-controller razor

这是我的课程:

Visual Studio Screenshot

我想显示在@ Html.DisplayFor CityName中,该名称应该与Office类的CityID相匹配。 我该怎么办?

3 个答案:

答案 0 :(得分:0)

您应该添加“城市模型”中的办公室收藏

答案 1 :(得分:0)

您可以使用以下代码。我的班级名称为OfficeViewModel

public class OfficeViewModel
{
    public int Id { get; set; }
    public string Name { get; set; }
    public int CityId { get; set; }
    public string CityName { get; set; }

}

然后,如果我们调用Office列表OfficesCity列表Cities,则可以使用以下代码进行

public IActionResult GetOffices(){

       List<OfficeViewModel> viewModel = Offices.Select(x => new OfficeViewModel
       {
            Id = x.Id,
            Name = x.Name,
            CityId = x.CityId,
            CityName = Cities.FirstOrDefault(y => y.CityId == x.CityId).CityName
        }).ToList();

        return View(viewModel);
}

答案 2 :(得分:-1)

首先,您应该创建看起来像OfficeViewModel的ViewModel名称

第二,在服务器端,您可以通过在Office.CityId和City之间进行联接来获取值CityName

希望This个帖子对您有所帮助。