Asp.Net MVC 5使用不同的模型调用PartialView

时间:2015-09-21 20:39:34

标签: c# asp.net-mvc-5 asp.net-mvc-partialview

我想从我的Index.cshtml调用一个PartialView,它使用我想要调用PartialView的不同模型。

我的Index.cshtml

@model IEnumerable<myappname.Models.Post>
...
@Html.Partial("_Block")

_Block.cshtml

@model myappname.Models.RightBlock
<img src="@Model.blockContent" width="330" />

Controller.cs

...
public PartialViewResult _Block()
    {
        int id = 2;
        RightBlock rb0 = db.RightBlocks.Find(id);

        return PartialView(rb0);
    }
...

请忽略ID,因为我只想静态地调用它,而不是动态调用它。 当我运行索引页面时,出现错误:

  

传递到字典中的模型项是类型的   'System.Data.Entity.Infrastructure.DbQuery`1 [myappname.Models.Post]',   但是这个字典需要一个类型的模型项   'myappname.Models.RightBlock'。

如何通过不同的模型调用PartialView? 谢谢。

1 个答案:

答案 0 :(得分:1)

使用Html.Action

Index.cshtml

@Html.Action("Block")

Controller.cs

public ActionResult Block()
{
   // Your code
   return PartialView("_Block.cshtml");
}