2014-05-22 98 views
0

enter image description hereASP .NET MVC 4 - 節流的RenderAction CPU

當我打電話的子操作是這樣的:

<ul class="media-list" id="newsfeed-container"> 
     @{ 
      foreach (var item in Model) 
      { 
       Html.RenderAction("NewsFeedItem", "Post", 
        new DAL.Models.Post() 
        { 
         ID = item.ID, 
         DateTime = item.DateTime, 
         Message = item.Message, 
         HasPhoto = item.HasPhoto, 
         User = item.User, 
         Photos = item.Photos, 
         IsAllowComment = item.IsAllowComment, 
         IsVisible = item.IsVisible 
        }); 
      } 
     } 
    </ul> 

項目dbContext.Posts.Tolist()(這是數據庫中的78條記錄)

這是NewsNfeedItem行動

// Display each feed in newsfeed 
    [ChildActionOnly] 
    public ActionResult NewsFeedItem(Post model) 
    { 
     return View(model); 
    } 

當我運行我的應用程序的IIS快遞工人Prcess CPU是非常高的。

我該如何解決這個問題?

+0

使用return PartialView(model); –

+0

這是現在的工作.. – user2877989

+0

很高興你有它的工作,我已經添加了這個答案,所以你可以標記它。 –

回答

0

使用PartialView()

[ChildActionOnly] 
public ActionResult NewsFeedItem(Post model) 
{ 
     return PartialView(model); 
} 
+0

我試過了,但不行。我將檢查視圖文件中的代碼。 – user2877989

0

你有如下修改主視圖:

<ul class="media-list" id="newsfeed-container"> 
    @{ 
     foreach (var item in Model) 
     { 
      @Html.Partial("_NewsFeedItemPartialView", item); 
     } 
    } 
</ul> 

,然後你會刪除NewsFeedItem行動wbecause這將是不尋常的

但你會必須將您的模型置於您的_NewsFeedItemPartialView視圖的頂部,如下所示:

@model namespace.Models.UsedModel