2014-10-11 4 views
0

ViewModel을 전달하는 동안 부분 뷰가 렌더링되지 않습니다. ViewModel없이 렌더링됩니다. @ Html.Partial ("PartialClientIndex")을 렌더링 한 다음 ViewModel을 전달할 때 부분 뷰 렌더링없이 직접 Dispose로 이동하면됩니다. 여기에 뭔가 빠졌어요. 이걸 좀 도와주세요.MVC 부분 뷰 렌더링하지 않음

홈페이지보기 :

<div id="PartialClient">  
     @Html.Partial("PartialClientIndex", viewModelList)      
    </div> 

작업 :

[HttpPost] 
    public ActionResult PartialClientIndex(int? SelectedGroupId) 
    { 
     int SkipRec = 0; 
     int NextRec = 25;    
     VMClient vmclient = new VMClient(); 
     vmclient.IEClients = db.client.Where(cl => cl.Groups.id == SelectedGroupId).OrderBy(c => c.id).Skip(SkipRec).Take(NextRec).ToList(); 
     return PartialView("PartialClientIndex", vmclient); 
    } 

부분보기 :

@model IEnumerable<HostingManager.Models.VMClient> 
    <table> 
    <thead> 
    <tr> 
    <th style="width:25px; padding:10px;"> 
     Group 
    </th> 
    <th class="tbContent-Name"> 
     Client Name 
    </th> 
    <th class="tbContent-Name"> 
     Contact Person 
    </th> 
    <th class="tbContent-Name"> 
     Contact Email 
    </th >   
    <th></th> 
</tr> 
</thead> 
<tbody> 
    @if(Model != null)   
    { 
     var x = Model.Select(c=>c.IEClients).ToList(); 
     var y = x[0].ToList(); 

    // var y = x[0]["item1"]; 
     foreach (var item in y) { 
      <tr> 
       <td class="tbContent-Name"> 
        @Html.DisplayFor(modelItem => item.Groups.name) 
       </td>  
       <td class="tbContent-Name"> 
        @Html.DisplayFor(modelItem => item.contactPerson) 
       </td> 
       <td class="tbContent-Name"> 
        @Html.DisplayFor(modelItem => item.contactPerson) 
       </td> 
       <td class="tbContent-Name"> 
        @Html.DisplayFor(modelItem => item.contactEmail) 
       </td>   
       <td> 
        @Html.ActionLink("Edit", "Edit", new { id=item.id }) |   
        @Html.ActionLink("Delete", "Delete", new { id = item.id }, new { onclick = "return confirm('Are you sure you wish to delete this ?');" }) 
       </td> 
      </tr> 
      } 
      } 
    </tbody> 

+0

내가 가진 –

+0

부분보기 코드를 보여 당신이 할당되는 방식을 조정해야 @Ehsan Sajjad .. 당신이 advice – Mukarram

+0

을 처음 보았을 때'int? '를 요구하는'ActionResult'에 모델을 전달하려고 시도 할 수 있습니까 – ethorn10

답변

0

것 같습니다 당신이 통과되는 변수 vmclient 모델로보기는 부분보기에 VMClient입니다. 귀하의 부분보기가 IEnumerable<VMClient> 유형을 기대하고 있습니다.

당신은 기본적으로 다음과 같은

@model HostingManager.Models.VMClient 

에 부분보기의 모델 유형을 변경하고 y 변수

var y = Model.IEClients; 
+0

모델 유형 정의 라인을 업데이트했습니다. 실수로 IEnumerable 을 첫 번째 시도에서 쓴 것 같습니다. – danyloid