2013-01-21 53 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