当前位置:  开发笔记 > 编程语言 > 正文

从一个视图重定向到另一个视图 - Yii2

如何解决《从一个视图重定向到另一个视图-Yii2》经验,为你挑选了2个好方法。

这是我网站视图页面中的表单.

field($model, 'taskID')->textInput(['readonly' => true, 'value' => Yii::$app->getRequest()->getQueryParam('id')])  ?>   

select('userType')->where(['username'=>Yii::$app->user->identity->username])->andWhere(['userType'=>'Distributer'])->exists();
$ifDistributorHasOnSiteSupport = Distributorinfo::find()->select('hasOnSiteSupport')->where(['UName'=>Yii::$app->user->identity->username])->andWhere(['hasOnSiteSupport'=>1])->exists();
if($ifDistributor)
 if($ifDistributorHasOnSiteSupport)
    echo $form->field($model, 'assignedToID')->dropDownList(
        ArrayHelper::map(dektrium\user\models\User::find()
            ->select('username')
            ->where(['userType'=>'CCE-Distributer'])
            ->andWhere(['distributerID'=>Yii::$app->user->getId()])
            ->all(),'username','username'),['prompt'=>'Select Person']
    );
else {  
                Yii::$app->session->setFlash('error', 
                    "Invalid Page");
                //I WANT TO REDIRECT TO index.php?r=tasks/index THIS URL                    

}                      
?>
field($model, 'remarks') ?>
field($model, 'scheduledTime')->widget(DateTimePicker::classname(), [
                'options' => ['placeholder' => 'Enter event time ...'],
                'pluginOptions' => [
                    'autoclose' => true
                ]
            ])  ?>
'btn btn-primary']) ?>

如上面的else部分所示,我想重定向到tasks/index这个url.请帮助我如何才能在此视图中执行此操作.



1> Insane Skull..:

使用Url::to()并且不要忘记添加yii\helpers\Url标题.

例如,

return Yii::$app->response->redirect(Url::to(['path', 'id' => id]));

重定向()



2> arogachev..:

重定向在控制器或一些相关组件中完成,但在视图中不完成,因为在这种情况下渲染没有意义.

在控制器中,您可以使用更短的形式:

$this->redirect(['view', 'id' => $id]);

请注意,您不必使用Url::to()帮助程序来构建URL,因为它已在内部应用.

您还可以使用:

Yii::$app->controller->redirect,如果控制器未知,这个方法Yii::$app->response->redirect就像他的答案中提到的Insane Skull一样.

查看GII生成的控制器代码,了解保存/删除后如何使用重定向.

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有