我正在尝试使用CGridView的ajaxUrl参数,并且没有任何效果。
$this->widget('zii.widgets.grid.CGridView', array( 'id'=>'ge-cg-'.$myLib['id'], 'filter'=>$geCGModel, 'dataProvider'=>$dataProvider, 'columns'=>$columns, 'ajaxUrl'=>Yii::app()->createUrl( 'Something/search' ), ));
这似乎没有覆盖CGridView小部件的ajax URL。网格的ajax请求仍将传递给呈现它的控制器(这不同于网格自己的控制器)。
谢谢!
该ajaxUrl属性仅对“每列过滤器”和“高级搜索”均有效。排序链接和分页链接是根据$dataProvider您指定的生成的。您可以检查CGridView和CDataColumn的来源,以查看如何分别从dataProvider中提取分页和排序。
ajaxUrl
$dataProvider
因此,如果您希望这些链接也使用ajaxUrl您要指定的链接,则必须同时设置routeCPagination对象和CSort对象的属性$dataProvider,如下所示:
route
$dataProvider=new CActiveDataProvider('Modelname',array( 'criteria'=>$criteria, 'pagination'=>array( 'route'=>'something/search' ), 'sort'=>array( 'route'=>'something/search' ) ));
这与您当前的CGridView设置结合使用应该可以正常工作。