作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要在 View 中访问 View 模型的属性,因为我需要为 razor 中的某些内容赋值,但每次我键入 Model.它没有显示让我把属性放在错误旁边。
这是我的代码:
@model PagedList.IPagedList<New_MinecraftNews_Webiste_MVC.Models.ArticlesViewModel>
@using PagedList.Mvc;
@{
ViewBag.Title = Model.Images;
}
<h2>@Model.SelectedArticleType</h2>
@Model.SelectedArticleType
和 ViewBag.Title = Model.Images;
错误。
错误是:
Severity Code Description Project File Line Suppression State Error CS1061
IPagedList<ArticlesViewModel>
does not contain a definition for 'Images' and no extension method 'Images' accepting a first argument of typeIPagedList<ArticlesViewModel>
could be found (are you missing a using directive or an assembly reference?)
这是我的 Controller :
[Route("Articles/{at}")]
public ActionResult ArticleTypes(string at, int page = 1, int pageSize = 15)
{
articleViewModel.Images = new List<ImageInfo>();
var modelList = (from a in db.Articles
where a.SelectedArticleType == at
orderby a.Id descending
select new ArticlesViewModel
{
Id = a.Id,
Body = a.Body,
Headline = a.Headline,
PostedDate = a.PostedDate,
SelectedArticleType = a.SelectedArticleType,
UserName = a.UserName
}).ToList();
foreach (var item in modelList)
{
item.Images = imageService.GetImagesForArticle(item.Id);
}
PagedList<ArticlesViewModel> model = new PagedList<ArticlesViewModel>(modelList, page, pageSize);
return View(model);
}
View 模型看起来像:
public class ArticlesViewModel
{
public int Id { get; set; }
public List<SelectListItem> ArticleType { get; set; }
public string SelectedArticleType { get; set; }
public string UserName { get; set; }
[Required]
public string Headline { get; set; }
[Required]
[DataType(DataType.MultilineText)]
public string Body { get; set; }
[DataType(DataType.Date)]
public DateTime PostedDate { get; set; }
public ImageInfo MainImage { get; set; }
public List<ImageInfo> Images { get; set; }
}
最佳答案
@model PagedList.IPagedList<New_MinecraftNews_Webiste_MVC.Models.ArticlesViewModel>
@using PagedList.Mvc;
@{
ViewBag.Title = "Page title goes here";
}
@foreach (var article in Model) {
<h1>@article.Headline</h1>
<h2>@article.SelectedArticleType</h2>
}
关于c# - 如何在 View 中获取 View 模型的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39254925/
我是一名优秀的程序员,十分优秀!