c# - ASP.Net Core 2.2 App 中身份控制器的扩展方法
问题描述
在我较旧的 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 中仍然不明白),因此如何创建这种类型的扩展?
解决方案
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);
}
}
书面扩展方法仍然有效
推荐阅读
- unity3d - 我正在尝试使用 Time.deltaTime 统一制作一个计时器以重新加载。任何人都知道为什么这不起作用?
- python - 如何为 Django-Shop CartItems 使用十进制数量
- python - Mac - VSCode - 将 Python 文件转换为 PDF 错误
- laravel - Laravel 国家从下拉列表中选择不保存
- java - 启动服务器时出现错误 GlassFish 5.0.1:java.lang.NoClassDefFoundError: sun/security/util/CurveDB
- sql - PostgreSQL - 存储永不改变的数据
- python - 未腌制的张量流模型无法做出预测
- kotlin - Kotlin 连接检查可空键和可空条目
- html - 如何让盒子阴影出现在不同的元素下
- python - pytest 神奇地工作/不工作