好的,这很令人沮丧。
我只想做的是在CGridView删除操作后重新加载页面。 由于删除是通过VIA Ajax执行的,我似乎无法重新加载页面。
我需要这样做,因为我在页面上有其他数据依赖于我要删除的数据。
我在视图中尝试过
'class'=>'CButtonColumn',
'header'=>'Delete',
'template'=>'{delete}',
'buttons'=>array(
'delete'=>array(
'success'=>'function(){
window.location = location.href;
}',
),
),
同样在删除控制器中
echo CHtml::script("
window.location.reload();
");
Yii::app()->end();
任何帮助表示感谢。
此致
答案 0 :(得分:2)
您可以使用CButtonColumn
类中的afterDelete参数(属性):
'class'=>'CButtonColumn',
'header'=>'Delete',
'template'=>'{delete}',
'afterDelete'=>'function(link,success,data){
if(success) { // if ajax call was successful !!!
if(data == SUCCESS_TEXT) { // SUCCESS_TEXT the text which you output in your delete action on success
window.location.reload();
} else {
alert("Error! not deleted.");
}
} else {
alert("Error! delete request failed, see console for mor info");
console.log(data);
}
}',