如何通过AJAX使用CGridView时避免渲染整个页面

时间:2013-04-08 15:28:05

标签: yii

在yii CGridView中创建任何ajax请求时(如分页,过滤,等等),请求的结果将呈现整页,我该如何避免?

我尝试使用renderPartial进行查看,但它不起作用。如果这是解决方案,我该怎么做?

我只需要渲染GridView表而不是整页。

请建议。

1 个答案:

答案 0 :(得分:4)

在控制器中:

$this->layout = false;

对我来说,在控制器中也可以$this->renderPartial()而不是$this->render()

if(Yii::app()->request->isAjaxRequest()) $this->renderPartial('view');
else $this->render('view');

你可以创建类:

class Controller extends CController {
    public function beforeAction($action) {
        if(Yii::app()->request->isAjaxRequest) $this->layout = false;
        return parent::beforeAction($action);
    }
}