这是我网站视图页面中的表单.
= $form->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 } ?> = $form->field($model, 'remarks') ?> = $form->field($model, 'scheduledTime')->widget(DateTimePicker::classname(), [ 'options' => ['placeholder' => 'Enter event time ...'], 'pluginOptions' => [ 'autoclose' => true ] ]) ?>= Html::submitButton('Submit', ['class' => 'btn btn-primary']) ?>
如上面的else部分所示,我想重定向到tasks/index
这个url.请帮助我如何才能在此视图中执行此操作.
使用Url::to()
并且不要忘记添加yii\helpers\Url
标题.
例如,
return Yii::$app->response->redirect(Url::to(['path', 'id' => id]));
重定向()
重定向在控制器或一些相关组件中完成,但在视图中不完成,因为在这种情况下渲染没有意义.
在控制器中,您可以使用更短的形式:
$this->redirect(['view', 'id' => $id]);
请注意,您不必使用Url::to()
帮助程序来构建URL,因为它已在内部应用.
您还可以使用:
Yii::$app->controller->redirect
,如果控制器未知,这个方法Yii::$app->response->redirect
就像他的答案中提到的Insane Skull一样.
查看GII生成的控制器代码,了解保存/删除后如何使用重定向.