2011-11-16 144 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