Ajuda com Yii::app()->request->isPostRequest

Pessoal, sou novo com o framework Yii.

Estou com um problema, preciso deletar registros, mais fiz uma lista com os registros, nesta lista tenho um botao para excluir, nesse botao eu passo dessa maneira.


<?php echo CHtml::link('', '', array("submit"=>array('delete', 'id'=>$model->idusuario), 'confirm' => 'Tem certeza que deseja excluir ?','title'=>'Excluir','class'=>'icon-2 info-tooltip', 'csrf'=>true)); ?>

Porém na minha actionDelete esta assim:




public function actionDelete($id)

	{

					

		if(Yii::app()->request->isPostRequest)

		{

			// we only allow deletion via POST request

			$this->loadModel($id)->delete();


			// if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser

			if(!isset($_GET['ajax']))

				$this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('admin'));

		}

		else

			throw new CHttpException(400,'Invalid request. Please do not repeat this request again.');

		

	}



Mais acaba caindo no throw new CHttpException(400,‘Invalid request. Please do not repeat this request again.’);

Como faço para enviar por post essa requisição ?

A url deve conter o ID, e pelo que me parece nao contem

Isso por causa do action parameter binding ( actionDelete($id) )

Na verdade eu passo o id sim, no $model->idusuario, o problema q se eu do um print_r no post na actionDelete e vem vazio, mais por get ele vem o id, mais precisava q fosse por post, e pelo q vi na documentacao era assiim q dizia q era pra ser feito com Chtml::link

Usando o Yii::app()->request->isPostRequest, ele só é aceito se a requisição for feita via POST.

Se você quiser acessar a action direto pela url basta retirar este if(){} e manter só o miolo.

Agora, se você quiser usar o POST, tenta usar o CHtml::ajaxLink no lugar de CHtml::link

Segue o link para a documentação

http://www.yiiframework.com/doc/api/1.1/CHtml#ajaxLink-detail

Valeu Luiz, era isso mesmo q eu precisava, só usando o ajaxLink deu certo. vlw