簡體   English   中英

如何將數據從視圖傳遞到控制器-Yii

[英]How to pass data from a view to a controller - yii

我已經使用標准yii crud系統創建了一個表格,該表格將所有“付款清單”保存在某個帳戶中。 每個付款清單中都有某些收件人。 (即,約翰可能在“三月工人”的薪水清單中,而蘇西可能在“五月工人”的薪水清單中)。 我正在嘗試在_view.php中創建一個按鈕,該按鈕可讓我重定向到收件人頁面, 傳遞他選擇的列表信息(我稱為list_id)。

我一直在嘗試通過鏈接在視圖內完成所有這些操作。 這是在_view.php中

<?php 
$list_id = $data->id;
echo CHtml::link('Manage',array('recipient/index', 'list_id'=>$list_id)); 
?> 

但是,在我的控制器中,我無法調用$ list_id。 我應該以其他方式這樣做嗎? 我是否應該嘗試將數據從我的視圖傳遞到控制器?

___________________ 編輯

建議編輯后,控制器看起來像這樣

public function actionIndex($list_id)
    {
        // echo $_GET["id"];
        $dataProvider= new CActiveDataProvider('Recipient', array('criteria'=>array(
                                                'condition'=>'list_id = '.$list_id)));
        $this->render('index',array(
            'dataProvider'=>$dataProvider,
        ));
    }

Yii增加了對自動操作參數綁定的支持。 控制器操作方法可以定義命名參數,其值將由Yii從$ _GET自動填充。

例如 :

public function actionIndex($list_id)

您可以使用上面的示例,也可以使用$ _GET ['list_id']進行調用

嘗試這個 -

在視圖文件中傳遞這樣的值

echo CHtml::link('Manage',array("recipient/index/list_id/$list_id"));

並且控制器中的索引函數應如下所示:

public function actionindex($list_id = null)
{
   echo $list_id;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM