ViewResult和ActionResult

今天在修改程序代码的时候,发现程序中有的地方用的是ActionResult,有的地方用的是ViewResult,在做跳转的时候发现返回值为ViewResult的不能用RedirectToAction,
因为是之前别人做的程序,而且本人对MVC也并不是太熟悉,所以也不知道这之间的区别,只得找一下资料,看了下面这张图忽然茅塞顿开
之前一直用ActionResult,却没有留意到这是一个抽象类,看来还是自己不够细心
ViewResult 只是ActionResult 的一个实现(implementation)。如果你确认你返回的是一个视图(view),你可以直接返回类型为ViewResult。ActionResult 有很多的派生类,如果你很确定你要返回的类型,你可以明确的返回该类型。如果你并不是很清楚,或者你根本不想去理解这些东西,你可以直接返回这些派生类的基类:ActionResult 。

posted @ 2012-09-24 14:30  katherine_fyy  阅读(489)  评论(0编辑  收藏  举报