2016-08-31 16 views
2

私は、かみそりで何かに値を割り当てる必要があるので、ビューの中のビューモデルのプロパティにアクセスする必要があります。それは私がプロパティの次のエラーを置かせて表示されません。ビュー内のビューモデルのプロパティにはどうすれば到達できますか?

@model PagedList.IPagedList<New_MinecraftNews_Webiste_MVC.Models.ArticlesViewModel> 
@using PagedList.Mvc; 
@{ 
    ViewBag.Title = Model.Images; 
} 

<h2>@Model.SelectedArticleType</h2> 

@Model.SelectedArticleTypeViewBag.Title = Model.Images;エラー:

は、ここに私のコードです。

エラーは次のとおりです。

重大度コード説明プロジェクトファイルの行の抑制状態 エラーCS1061 IPagedList<ArticlesViewModel>はタイプの 最初の引数を受け入れる「画像」と拡張子なしのメソッド「イメージ」の の定義が含まれていませんIPagedList<ArticlesViewModel>は(?あなたがusingディレクティブまたはアセンブリ参照が不足している)

をここで を見つけることができる私のコントローラです。

[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); 
} 

ViewModelには、次のようになります。

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; } 
} 
+0

正確なエラーはありますか?コントローラのアクションとビューモデルはどのように見えますか? – itsme86

+0

この回答を確認してください:http://stackoverflow.com/questions/7562393/how-to-set-model-attribute-in-razor-view – Sparrow

+0

モデルまたはモデル自体の中の値をビューに渡していることを確認してください。あなたのコントローラの中のコードも見ているほうがいいでしょう。 –

答えて

2
@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> 

} 
2

リファレンスPagedListオブジェクトをインターフェース

@model PagedList<New_MinecraftNews_Webiste_MVC.Models.ArticlesViewModel> 
@using PagedList.Mvc; 
@using PagedList; 

PagedListはリストではありません。だから、子項目にアクセスする必要が

@for (int i = 0; i < Model.Count(); i++) 
{ 
    @Html.DisplayFor(modelItem => Model[i].SelectedArticleType) 

} 

ページにいくつかの「ヘッダ」タイプの情報と、そのヘッダ情報に関連付けられたリストが必要な場合、あなたはおそらく、リストやパスのための部分的なビューを作成する必要があります。ビヘイビアのヘッダ情報クラスのプロパティのリスト

関連する問題