2016-08-14 2 views
1

내가 여기, 내 MVC5 응용 프로그램에서 테이블을 구축 할 부분보기를 사용하려면 시도하고 내가 가진 무엇 :왜 내 테이블 부분 렌더링이되지 않습니까?

뷰 모델

public class ResultsViewModel 
{ 
    public Results FirstPartyResults { get; set; } 

    public Results SecondPartyResults { get; set; } 

    public Results ThirdPartyResults { get; set; } 
} 

@model App.ViewModels.ResultsViewModel 

@{ 
    ViewBag.Title = "Start Election"; 
} 

<div id="partialTable"> 
    @{ Html.RenderPartial("_TablePartial", Model); } 
</div> 
Index.cshtml
<script> 
    $(document) 
     .ready(function() { 
      $.ajax({ 
        url: '/Home/StartElection', 
        type: 'POST', 
        data: "test", 
       }) 
       .done(function(partialViewResult) { 
        $("partialTable").html(partialViewResult); 
       }); 
     }); 
</script> 

_TablePartial.cshtml

@model App.ViewModels.ResultsViewModel 

<div class="page-header"> 
    <h1>Party Results</h1> 
</div> 

<div id="partialTable"> 
    <table class="table table-striped"> 
     <thead> 
      <tr> 
       <th>Party Code</th> 
       <th>Number of Seats</th> 
       <th>Overall Share of Votes 
      </tr> 
     </thead> 
     <tbody> 
      @if (Model != null) 
      { 
       <tr> 
        <td> 
         @Model.FirstPartyResults.PartyCode 
        </td> 
        <td> 
         @Model.FirstPartyResults.NumberOfSeats 
        </td> 
        <td> 
         @Model.FirstPartyResults.ShareOfVotes 
        </td> 
       </tr> 
       <tr> 
        <td> 
         @Model.SecondPartyResults.PartyCode 
        </td> 
        <td> 
         @Model.SecondPartyResults.NumberOfSeats 
        </td> 
        <td> 
         @Model.SecondPartyResults.ShareOfVotes 
        </td> 
       </tr> 
       <tr> 
        <td> 
         @Model.ThirdPartyResults.PartyCode 
        </td> 
        <td> 
         @Model.ThirdPartyResults.NumberOfSeats 
        </td> 
        <td> 
         @Model.ThirdPartyResults.ShareOfVotes 
        </td> 
       </tr> 
      } 
     </tbody> 
    </table> 
</div> 

예상대로 내가 컨트롤러에서 브레이크 포인트를 설정 한

[HttpGet] 
public ActionResult StartElection() 
{ 
    return View(); 
} 

[HttpPost] 
public ActionResult StartElection(string text) 
{ 
    var scoreBoard = new ScoreBoard(); 

    var viewModel = scoreBoard.GetTopResults(); 

    return PartialView("_TablePartial", viewModel); 
} 
  • 컨트롤러 코드 뷰 모델 객체가 만들어집니다
  • 내가했습니다 조건부 검사에서 부분적으로 중단 점을 설정하면 Model이 null입니다. & 코드가 실행 중입니다.

페이지는 테이블이 모델 테이블 데이터를 향하고 있지만 렌더링되고있다 - 사람이 내가 잘못 무엇을 볼 수 있습니까?

참고 : 나는 아약스 호출을 통해 시간이 지남에 따라 업데이트 할 테이블을 걸려 라 - 내가 여기 (아직) 그 일을하려고하지만 설명 나는 GET 조치 결과를 왜하고 POST

아니에요 부분보기 ID로 사업부 내부에 있기 때문에

답변

1
partialTable

다음
<div id="partialTable"> 
    @{ Html.RenderPartial("_TablePartial", Model); } 
</div> 

당신이 틀렸어 어디

당신은 ID로 요소를 선택

$("#partialTable").html(partialViewResult); 
+0

고마워요, 감사를 # (jQuery ID Selector)를 사용합니다! – NRKirby