1

У меня есть меню и с помощью этого я рендеринга частичного вида в моей индексной страницеПолучить частичные данные представления

@Ajax.ActionLink("week I", "firstWeekWinners", new 
{ 

}, new AjaxOptions() 
{ 
    HttpMethod = "GET", 
    UpdateTargetId = "weeWinnersDIv", 
    InsertionMode = InsertionMode.Replace 
}, new { @class = "weekDays wactive" }) 

и есть частичный контроллер вида:

public PartialViewResult firstWeekWinners() 
    { 
     ViewBag.laptopWinners = db.firstWeekLaptopWinner().ToList(); 
     ViewBag.tabWinners = db.firstWeekGalaxyWinner().ToList(); 
     ViewBag.ipodWinners = db.firstWeekIpodWinner().ToList(); 
     ViewBag.headPhonesWinners = db.firstWeekHeadPhonesWinner().ToList(); 
     ViewBag.kingstonWinners = db.firstWeekkingstonUsbWinner().ToList(); 

     return PartialView(); 
    } 

и частичный вид:

@if (ViewBag.laptopWinners != null) 
{ 
    <div class="winnersPrizeOverflow"> 
     <div class="winnersPrizePic"></div> 
     <div class="winnersAllprizeLeft"><p>12</p></div> 
    </div> 
    foreach (var q in ViewBag.laptopWinners) 
    { 
     <span>@q.firstName</span> 
     <br /> 
     <span>@q.lastName</span> 
     <br /> 
     <span>@q.fbId</span> 
     <br /> 
     <span>@q.sumOfBids</span> 
     <br /> 
    } 
} 

Если я нажму на это ajax.actionlink, он отображает этот вид но без этого, если я положу @Html.Partial("firstWeekWinners"), он не входит в контроллер для извлечения моих данных. Как я могу улучшить это?

+0

Вам нужно '@ Html.Action (" firstWeekWinners ")' вызвать метод контроллера, который возвращает частичный вид. –

+0

@StephenMuecke напишите как ответ. благодаря – gsiradze

ответ

2

Для вызова вашего firstWeekWinners метода использования @Html.Action(), не @Html.Partial()

@Html.Action("firstWeekWinners") 

Refer to the documentation для различных перегрузок, и эти question/answers объяснения различий и использования.