C# 动态设置视图标题
甚至不确定我问的问题是否正确。我已经看了大约一个小时了,它太简单了,花不了多长时间。问题是我太简单了,不知道答案,甚至不知道如何正确地用短语搜索来找到答案 我有一个网站设置完成作业的历史记录 控制器:C# 动态设置视图标题,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,甚至不确定我问的问题是否正确。我已经看了大约一个小时了,它太简单了,花不了多长时间。问题是我太简单了,不知道答案,甚至不知道如何正确地用短语搜索来找到答案 我有一个网站设置完成作业的历史记录 控制器: public async Task<IActionResult> JobSiteHistory(int id, int? page) { var jobs = from j in _context.Job .Include(j => j.Site)
public async Task<IActionResult> JobSiteHistory(int id, int? page)
{
var jobs = from j in _context.Job
.Include(j => j.Site)
.Include(j=>j.WaterBody)
.Where(j=>j.Site.SiteID==id)
.OrderByDescending(j=>j.BookingDate)
select j;
int pageSize = 9;
return View(await PaginatedList<Job>.CreateAsync(jobs.AsNoTracking(), page ?? 1, pageSize));
}
ViewBag.SiteName = Site.name
到元素。我知道这不会像打印的那样工作,谢谢你这么想
我只是想不出一个方法来添加它。我考虑过ViewData,但可能使用错误,因为我无法用SiteName填充它
有没有办法做到这一点,或者我是否像往常一样考虑所有问题?最简单的改变是使用以下方法:
<h2>@Html.DisplayFor(m => m[0].Site.SiteName);</h2>
鉴于:
<h2>@ViewBag.SiteName</h2>
您的foreach循环变成:
@foreach (var item in Model.Jobs)
您的模型是一个集合,而不是单个对象,并且集合没有名为Site的属性。不清楚你想展示什么。您的集合是否包含每个站点及其站点名称都相同的对象?
<h2>@ViewBag.SiteName</h2>
public class SiteJobsHistoryModel
{
public Site Site { get; set;}
public PaginatedList<Job> Jobs { get; set; }
}
var site = _context.Site.Single(j => j.Site.SiteID==id);
var jobs = from j in _context.Job
//.Include(j => j.Site) -- this can be removed
.Include(j=>j.WaterBody)
.Where(j=>j.Site.SiteID==id)
.OrderByDescending(j=>j.BookingDate)
select j;
return View(new SiteJobsHistoryModel
{
Site = site,
Jobs = await PaginatedList<Job>.CreateAsync(jobs.AsNoTracking(), page ?? 1, pageSize)
});
@Html.DisplayFor(ModelItem=>model.Site.SiteName)
@foreach (var item in Model.Jobs)