2012-09-04 51 views
1

因此,我用WebGrid进行了这种主/细节设置。一切都很好,直到我尝试使用RenderPage显示详细点击记录时:MVC3 RenderPage从不呈现内容

<div class="innerbox"> 
    @{ 
     if(gdEligibility.HasSelection){ 
      @RenderPage("~/Views/Eligibility/EligibilityPolicyDetailView.cshtml", 
       new { Customer = gdEligibility.SelectedRow }) 
     } 
    } 
</div> 

一切正常,如果我把一个破发点,我可以通过详细视图的CSHTML文件步骤没有问题,没有错误。但是外部div之间没有任何东西可以呈现。永远。为什么RenderPage不返回任何内容?我甚至尝试在行尾添加.ToHtmlString(),但仍然没有任何结果。

细节CSHTML:

@{ foreach(TravelInsurance.Models.Policy p in Page.Customer.Policies){ 

<fieldset> 
    <legend>Policy</legend> 

    <div class="display-label">Policy Number</div> 
    <div class="display-field"> 
     @Html.DisplayFor(model => p.PolicyNumber) 
    </div> 

    <div class="display-label">Premium</div> 
    <div class="display-field"> 
     @Html.DisplayFor(model => p.Premium) 
    </div> 
</fieldset> 
}} 
+0

你调用'@RenderPage()所包含的文件是什么类型? –

+0

它在一个标准的mvc查看.cshtml文件 – InnerException

回答

0

This问题表明,RenderPage将使用父模型...

也许尝试使用

@{Html.RenderPartial("EligibilityPolicyDetailView", new { Customer = gdEligibility.SelectedRow });} 

@Html.Partial("EligibilityPolicyDetailView" ,new { Customer = gdEligibility.SelectedRow }) 
+0

尝试都没有运气。我结束了使用Telerik的webgrid,但我仍然不知道为什么这不起作用。 – InnerException

0

Pl。通过删除网格定义中的属性“ajaxUpdateContainerId”再次尝试,它应该可以工作。