【问题标题】:Extension methods for Identity Controllers in ASP.Net Core 2.2 AppASP.Net Core 2.2 App 中身份控制器的扩展方法
【发布时间】:2018-12-30 21:43:32
【问题描述】:

在我的旧 MVC 应用程序中,我有一些扩展方法,如下所示

 public static string ChangePasswordCallbackLink(this IUrlHelper urlHelper, string appUserId, string parameter)
 {
     return urlHelper.Action(
            action: nameof(AccountController.ChangePassword),
            controller: "Account",
            values: new { appUserId, parameter}
            );
 }

当您在默认的 Asp.Net Core 2.2 Web 应用程序中搭建身份页面时,由于不再有帐户控制器(我在 Core 中仍然不明白),因此如何创建这种类型的扩展?

【问题讨论】:

标签: c# asp.net-core-2.0


【解决方案1】:

AccountController 只是一个包含用户帐户管理基本逻辑的脚手架类,您可以轻松地自己创建它。 我做了 HomeController 包含 ChangePassword 操作方法和 HomePage 以及链接的预定义参数:

public static class Extensions
    {
        public static string ChangePasswordCallbackLink(this IUrlHelper urlHelper, string appUserId, string parameter)
        {
            return urlHelper.Action(
                action: nameof(HomeController.ChangePassword),
                controller: "Home",
                values: new { appUserId, parameter }
            );
        }
    }
    public class HomeController : Controller
    {
        public IActionResult ChangePassword(string appUserId, string parameter)
        {
            return View();
        }
        public IActionResult Index()
        {
            var link = Url.ChangePasswordCallbackLink("123", "qwerty");
            return View(model: link);
        }
    }

书面扩展方法仍然有效

【讨论】:

    猜你喜欢
    • 2019-02-19
    • 2019-06-13
    • 2019-10-18
    • 1970-01-01
    • 1970-01-01
    • 2020-01-04
    • 1970-01-01
    • 2019-09-06
    • 2019-05-25
    相关资源
    最近更新 更多