2
我試圖將一些數據發送到母版頁。我使用Razor作爲View Engine和AutoMapper來映射域和視圖模型。下面是我的代碼:RenderPartial問題(將數據發送到母版頁時)
//the partial view action method:
public ActionResult RenderCategories()
{
IEnumerable<TopLevelCategory> categories = _categoryService.GetTopLevelCategories();
var viewModel = new MasterPageViewModel
{
Categories =
Mapper.Map
<IEnumerable<TopLevelCategory>, IEnumerable<ParentCategory>>(categories)
};
return View(viewModel);
}
//the partial view file: (this is just a test for now)
@model Sharwe.MVC.ViewModels.MasterPageViewModel
@foreach (var item in Model.Categories) {
@item.Name
}
public class MasterPageViewModel
{
public IEnumerable<ParentCategory> Categories { get; set; }
}
我打電話使用@ Html.RenderPartial從裏面我_Layout.cshtml文件中的局部視圖(「RenderCategories」)。但我不斷收到以下錯誤:
Compiler Error Message: CS1502: The best overloaded method match for 'System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)' has some invalid arguments
發生了什麼事?
啊我明白了。這實際上工作,但現在部分視圖的模型類型與@RenderBody區域的模型類型衝突。無論如何解決這個問題? – Kassem 2011-03-17 20:18:26
您可以將正確的模型作爲第二個參數傳遞給'RenderPartial'方法。 – 2011-03-17 20:21:24
我試圖做到這一點,但我無法正確理解。我仍然得到同樣的錯誤。請介意給我一個例子嗎? – Kassem 2011-03-17 20:27:21