我有一个ShopController和一个Action方法,我称之为CheckOut。我在Action方法之前有[Authorize],但如果我希望用户在成功登录后继续使用另一个Controller(如CustomersController和Create View),以便客户可以将地址和其他信息添加到表单中?
一个选项可能是在ShopController中创建一个带有表单的新视图,但我想这不是一个好选择!?
答案 0 :(得分:0)
一个选项可能是创建一个带有表单的新视图 ShopController,但我猜这不是一个好选择!?
没有。这是你想要的方式。为应用程序的不同功能/逻辑部分创建操作方法/控制器。在这种情况下,读取地址是一个单独的功能,因此应该属于一个单独的控制器操作方法。
您可以在其中创建一个新的CreateAddress
并添加RedirectToAction
操作方法(和视图),并在您的操作方法中对用户进行身份验证(登录?),使用public ActionResult Login(string userName,string password)
{
// do your credential verification logic here
return RedirectToAction("CreateAddress","CustomerController");
}
方法根据需要向用户发送新视图。
<?= Html::ul($items, ['class' => 'list-inline',
'item' => function($item, $index) {
return Html::tag('li', $item->title);
}
])?>