使用 Yii HiddenField 方法设置 $_GET

Set $_GET Using Yii HiddenField Method

如果选择了一个按钮,我正在尝试设置我的 $_GET。目前,我正在尝试使用以下命令进行设置:CHTML::hiddenField('hidden', $displayData = "option1"); 但这只会重新加载页面。有什么建议么?

控制器:

<?php
    $data1 = new CArrayDataProvider(.......){
        .......
    }

    $data2 = new CArrayDataProvider(.......){
        .......
    }

    if(isset($_GET['export'])){
        $displayData = $_GET['export'] == 'option1' ? $data1 -> getData() : $data2 ->getData();

        // Export CSV FILE Content here

    }
?>

查看:

<?php
    // BUTTON 1
    CHTML::hiddenField('hidden', $displayData = "option1");
    // The button and other data
?>

 <?php
    // BUTTON 2
    CHTML::hiddenField('hidden', $displayData = "option2");
    // The button and other data
 ?>

阅读有关隐藏字段的 Yii 文档:link

public static string hiddenField(string $name, string $value='', array $htmlOptions=array ( ))

所以你在视图中的代码应该是这样的:

CHTML::hiddenField('export', option1);
or
CHTML::hiddenField('export', option2);

此外,您必须了解 hiddenField 不是按钮或表单,它不会将数据发送到任何地方。 要将一些数据从用户发送到服务器,您应该将 CActiveForm 与您的隐藏字段一起使用。 您可以找到示例 here