ABP Vnext 学习02-授权中心 重写Login 页面

前言

实现的方式也有其他的方式 可能不是最优 如果有兴趣的可以自己研究 ;

实现思路

1 首先看他们Abp 的官方文档 其中介绍的已经适用于一部分场景
官方文档的三种介绍
1 仅重写页面模型(C#)端执行其他逻辑,不更改UI.
2 仅重写Razor页面(.cshtml文件),不更改逻辑.
3 完全重写 页面.
重写页面 Account Login 页面 默认会覆盖原有的 和逻辑就可以根据这个继承的 MyLoginModel 来 切入
也可以完全重写 可以根据文档上的继承 PageModel,AbpPageModel

重写页面

1  首先在Pages 文件下 新建 Account 文件夹
2  新建Login 页面 和 MyLoginModel

  public class MyLoginModel : Volo.Abp.Account.Web.Pages.Account.LoginModel{
	 public MyLoginModel(IAuthenticationSchemeProvider schemeProvider, IOptions<AbpAccountOptions> accountOptions, IOptions<IdentityOptions> identityOptions) : base(schemeProvider, accountOptions, identityOptions)
        {
           
        }
        // 这里的拓展空间就挺大的 需要一定的理解才可以重写 就不多介绍了
         public async override Task<IActionResult> OnPostAsync(string action){
			 return	base.OnPostAsync(action)
		}
  }

Login 页面

@page
@using Volo.Abp.AspNetCore.Mvc.UI.Theming
@using Volo.Abp.Account.Settings
@using Volo.Abp.Settings
// 这里指向 你创建的 MyLoginModel
@model xxxxx.Pages.Account.MyLoginModel
@inject Volo.Abp.Settings.ISettingProvider SettingProvider
@inject IThemeManager ThemeManager
@{
	//Layout  这里指的是模板页面 有好几种 可以看 也可以是null
    Layout = ThemeManager.CurrentTheme.GetAccountLayout(false);
    
}

<div>
// 这是他默认的表单  需要注意的是需要保证一些js 的引入 重写的话可以直接去掉 然后研究一下源码
	 <form method="post" id="components-form-demo-normal-login">
                        <input asp-for="ReturnUrl" />
                        <input asp-for="ReturnUrlHash" />
                        <div class="form-group">                          
                            <input asp-for="LoginInput.UserNameOrEmailAddress" class="form-control" />
                            <span asp-validation-for="LoginInput.UserNameOrEmailAddress" class="text-danger"></span>
                        </div>
                        <br/>
                        <br/>
                        <div class="form-group">                          
                            <input asp-for="LoginInput.Password" class="form-control" />
                            <span asp-validation-for="LoginInput.Password" class="text-danger"></span>
                        </div>
           
                        <abp-button type="submit" button-type="Primary" name="Action" value="Login" class="btn-block btn-lg mt-3">登录</abp-button>
                    </form>
</div>

路漫漫其修远矣 加油!!!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值