Html.Partial()跳过控制器动作

时间:2013-06-02 19:41:19

标签: asp.net asp.net-mvc razor

我正在使用@ Html.Partial(“Index”)来调用控制器中名为“Index”的操作,然后应该返回“Index”视图。不幸的是,看起来控制器操作被忽略了,因为我在Index视图中得到Model为null的错误。我尝试在控制器操作中设置断点并且它们只是被跳过,似乎在不读取控制器的情况下呈现视图“索引”?这是怎么回事?

感谢任何想法。

控制器操作代码如下:

public ActionResult Index()
{
        int UserId = (int)Session["UserId"];
        var Photos = db.Photos
                    .Where(Photo => Photo.ClientId == UserId)
                    .ToList();
        if ((bool)Session["Admin"] == true) return PartialView(Photos);
        else return View(Photos);
}

1 个答案:

答案 0 :(得分:25)

Html.Partial只会呈现视图。如果要调用操作,则必须使用Html.Action,它将执行操作并返回视图(如果有)。