2

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

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

我只需要渲染 GridView 的表格而不是整个页面。

请指教。

4

1 回答 1

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);
    }
}
于 2013-04-08T21:50:07.717 回答