2013-04-08 60 views
2

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

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

我只需要呈现GridView的表格不是整个页面。

请指教。

回答

4

在控制器:

$this->layout = false; 

对我的作品也$this->renderPartial()的控制器,而不是$this->render()

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

U可以创建类:

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