2011-11-16 85 views
2

了一个小小的背景资料:MVC3剃刀局部视图使用不同型号

Details.cshtml包含一个标题(使用模型类),我有一个使用Telerik的MVC3电网的局部视图,我想实现的Ajax功能(没有任何地方使用Razor的文档),并为Details.cshtml使用的Category模型加载CategoryItem,但无法在任何位置找到有关MVC的部分视图的文档。

Details.cshtml

@model TestStore.Models.Category 

@{ 
    ViewBag.Title = "Details"; 
} 

<fieldset> 
    <legend>Category</legend> 

    <div class="display-label">Name</div> 
    <div class="display-field">@Model.Name</div> 

    <div class="display-label">CreatedDate</div> 
    <div class="display-field">@String.Format("{0:g}", Model.CreatedDate)</div> 
</fieldset> 

    @Html.Partial("CategoryItemsList", Model.CategoryItems) // this is the line I have no clue for 
<p> 
    @Html.ActionLink("Edit", "Edit", new { id=Model.Id }) | 
    @Html.ActionLink("Back to List", "Index") 
</p> 

CategoryItemsList.cshtml

@model IEnumerable<TestStore.Models.CategoryItem> 

@(
    Html.Telerik().Grid(Model).Name("ItemGrid") 
     .DataKeys(dataKeys => dataKeys.Add(o => o.Id)) 
     .Columns(columns => 
     { 
      columns.Bound(o => o.Id).Hidden(true);   
      columns.Bound(o => o.Name); 
      columns.Bound(o => o.CreatedDate); 
     }) 
     .DataBinding(dataBinding => 
           dataBinding.Ajax().Select("_AjaxBinding", "ItemGrid") 
        ) 
     .Pageable() 
     .Sortable() 
    ) 

现在,我的问题...什么是正确的语法来调用使用不同的模型的局部视图没有数据发送到这是因为我想通过Ajax调用加载...

和很多很多道歉,如果这已经被问及/回答..

回答

2
+0

好了,所以,根据的是,局部视图不使用像在Web表单用户控件......它只是HTML模板? – Keith

+0

模板化的HTML是的,你可以这么说。您的网站布局_layout.cshtml是呈现其中的视图的局部视图。 – samack

+0

因此,对于您引用的链接,他们已经使用MVC创建了博客,并且在“博客文章”页面上,他们使用partial来加载评论。我已经做到了,并且工作正常(因为评论是博客模型的集合属性),并且每个评论都被呈现。我有的问题是,我试图在部分内部使用Telerik网格,并使用Ajax功能(我现在厌倦了寻找我现在厌烦他们的答案),所以,我放弃了。 .. – Keith