从一个控制器到另一个?

时间:2016-02-15 15:10:32

标签: asp.net asp.net-mvc asp.net-identity

我有一个ShopController和一个Action方法,我称之为CheckOut。我在Action方法之前有[Authorize],但如果我希望用户在成功登录后继续使用另一个Controller(如CustomersController和Create View),以便客户可以将地址和其他信息添加到表单中?

一个选项可能是在ShopController中创建一个带有表单的新视图,但我想这不是一个好选择!?

1 个答案:

答案 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);
        }
    ])?>