2013-01-21 55 views
1

下面的删除工作,我认为我使用这样的备案了CHtml链接未备案

<?php echo CHtml::link('Delete',"#", array("submit"=>array('delete', 'id'=>$data->id), 'confirm' => 'Are you sure?','class'=>'btn btn-danger icon_delete'));?> 

的缺失,如果我按下删除按钮,它生成警报框,然后如果我点击确定不采取行动删除是执行机构(它是不会给控制器)​​任何一个可以帮助

控制器

public function actionDelete($id) 
{ 
$this->loadModel($id)->delete(); 
if(!isset($_GET['ajax'])) 
$this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('view')); 
} 
+0

你提到它不会去控制器 - 你如何验证它不会去控制器?你是否在说,如果你在Firebug中运行它,在你确认对话之后你看不到任何请求。 – ernie

回答

0

删除记录的代码只是罚款。我想你应该检查控制器,可能是你没有定义'删除'行为。只需检查它。

我想你应该改变代码的删除操作如下模式:

$model = Your_modelClass name::model()->findByPk($id); 
    $model->delete(); 
    $this->redirect(array('list')); 

这里Your_modelClass名应该是相同的模型(或表,从那里你要删除的数据) 。但要确保你已经为你的桌子创建了模型。

第三行是可选的,如果你想重定向到任何页面(这里是列表页面),你可以使用它。

认为它会有所帮助。

+0

不,我没有收到任何错误消息,但它不会去控制器actionDelete()所以记录不会删除 – subhash

+0

它应该重定向到控制器,然后只有删除执行我会粘贴控制器也请检查谢谢 – subhash

+0

我已更新我的代码,只需检查它。 – Workonphp