У меня есть вид (указатель), который отображает данные из модели (TBL_PROJECT).ASP.NET MVC. Как отображать тест вместо id на странице просмотра?
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(m => item.PROJ_YEAR)
</td>
<td>
@Html.DisplayFor(m => item.PROJ_NAME)
</td>
<td>
@Html.DisplayFor(m => item.PROJ_STATUS)
</td>
</tr>
}
При отображении было бы:
1998 Paint 1
1998 Очистка 1
мне нужен статус, чтобы быть в тексте, который находится в другой модели (TBL_STATUS).
Что мне делать?
Это TBL_STATUS модель
public class TBL_STATUS
{
public int ID { get; set; }
public string STATUS { get; set; }
}
Это контроллер
public ActionResult Index(int page = 1, string Query = null)
{
var projectList = db.TBL_PROJECTS.Include(x => x.TBL_STATUS).Where(x => x.PROJ_CAT == 1).ToList().OrderByDescending(x => x.ID);
if (!string.IsNullOrEmpty(Query))
{
projectList = projectList
.Where(x => x.PROJ_NAME.ToLower().Contains(Query.ToLower()))
.ToList().OrderByDescending(x => x.ID);
}
return View(new PagedList.PagedList<TBL_PROJECT>(projectList, page, 10));
}
Обновление: я узнал, таким образом, как это сделать. В модели (TBL_PROJECT) добавить следующее:
[Display(Name = "Current Status")]
public int PROJ_STATUS { get; set; }
[ForeignKey("PROJ_STATUS")]
public TBL_STATUS TBL_STATUS { get; set; }
и при вызове его в представлении: ...
<td>
@Html.DisplayFor(m => item.TBL_STATUS.STATUS)
</td>
Теперь у меня есть еще один вопрос. Тот же вопрос, я хочу добавить район (который является int в TBL_PROJECT, который относится к другой модели (TBL_DISTRICT)).
public class TBL_DISTRICT
{
public int ID { get; set; }
public string DIST_NAME { get; set; }
public string DIST_OFFICE { get; set; }
public string DIST_CODE { get; set; }
}
Теперь в моей TBL_PROJECT модели, добавить эти:
[Display(Name = "District")]
public int DISTRICT { get; set; }
[ForeignKey("DISTRICT")]
public TBL_DISTRICT TBL_DISTRICT { get; set; }
И в представлении:
@ Html.DisplayFor (м => item.TBL_DISTRICT .DIST_NAME)
Нет ошибки, но она ничего не вернула. Нужно ли добавлять ограничения между этими таблицами (TBL_PROJECT & TBL_DISTRICT)?
Я настоятельно рекомендую использовать зрения модели: http://wildermuth.com/2015/7/22/Mapping_Between_Entities_and_View_Models – freshbm