0

在我的索引页面中,我有这个代码来调用搜索操作:

$this->renderPartial('search');

这是搜索操作代码:

 $criteria = new CDbCriteria();

            if (isset($_GET['city'])) {
                $q = $_GET['city'];
                $criteria->compare('fileName', $q, true, 'OR');
                $criteria->compare('tags', $q, true, 'OR');
                $dataProvider = new CActiveDataProvider("Files", array('criteria' => $criteria));
                $this->redirect('result', array('dataProvider'=>$dataProvider));
            }

            $dataProvider = new CActiveDataProvider("Files", array('criteria' => $criteria));
            $this->render('search');

这是搜索视图:

        <form method="get">
<?php
        $url = CHtml::normalizeUrl(array("files/search"));
        $model = Files::model();
        $c = new FilesController('view');
        $this->widget('zii.widgets.jui.CJuiAutoComplete',array(
            'model'=>$model,
            'id'=>'autocomplete',
            'attribute'=>$model->fileName,
            'name'=>'city',
            'source'=>$c->actionAutoComplete(),
            // additional javascript options for the autocomplete plugin
            'options'=>array(
                'minLength'=>'1',
            ),
            'htmlOptions'=>array(
                'style'=>'height:20px;',
                'placeholder'=>'search',
                'value'=>'isset($_GET["city"]) ? CHtml::encode($_GET["city"]) : "" ',
                ),)); 
?>
        <input type="submit" value="search" />


         </form>

我想在另一个视图中显示搜索结果,因此单击搜索提交按钮后,我想重定向到另一个视图以显示结果,但在此代码中,搜索结果显示在索引页面中。那么该怎么做呢?

4

1 回答 1

1

您可以设置要发送表单的网址,例如:

$form = $this->beginWidget('bootstrap.widgets.TbActiveForm', array(
    'action' => Yii::app()->createUrl('anotherController/anotherView'),
    'method' => 'post',
));

或者您可以在完成索引后重定向到另一个页面,例如:

$this->redirect(array('anotherController/anotherView'));
于 2013-10-22T13:45:38.507 回答