首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将电子邮件传递给ResendEmailConfirmation模型/视图-标识

将电子邮件传递给ResendEmailConfirmation模型/视图-标识
EN

Stack Overflow用户
提问于 2021-05-21 08:34:38
回答 1查看 174关注 0票数 0

我试图将用户的电子邮件从注册页面传递给Identity的ResendEmailConfirmation.cshtml类,以便它在电子邮件输入框中显示在视图中。

注册页面-将用户重定向到重新发送的电子邮件确认页的链接

代码语言:javascript
运行
复制
<a asp-area="Identity" asp-page="/Account/resendemailconfirmation" asp-route-email="@Model.Input.Email" class="resend-confirm-email-submit">Resend confirmation email</a>

ResendEmailConfirmation.cshtml -相关部件

代码语言:javascript
运行
复制
        public ResendEmailConfirmationModel(UserManager<IdentityUser> userManager, IEmailSender emailSender)
        {
            _userManager = userManager;
            _emailSender = emailSender;
        }

        [BindProperty]
        public InputModel Input { get; set; }

        public class InputModel
        {
            [Required]
            [EmailAddress]
            public string Email { get; set; }
        }

        public void OnGet(string email)
        {
            // My attempt
            InputModel inputModel = new InputModel();
            inputModel.Email = email;
        }

ResendEmailConfirmation视图-电子邮件输入框

代码语言:javascript
运行
复制
        <form method="post">
            <div asp-validation-summary="All" class="text-danger"></div>
            <div class="form-group">
                <label asp-for="Input.Email" class="register-heading-style"></label>
                <input asp-for="Input.Email" class="form-control" />
                <span asp-validation-for="Input.Email" class="text-danger"></span>
            </div>
            @*<button type="submit" class="btn btn-primary">Resend</button>*@
            <button type="submit" class="register-submit"><span>Resend</span></button>
        </form>

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-24 08:12:29

您应该使用这种方式在OnGet()中定义输入:

Register.cshtml.cs以获取电子邮件(您没有显示这部分代码,因此我直接定义了值):

代码语言:javascript
运行
复制
public void OnGet()
    {
        Input =new InputModel()   
        { 
            Email = "asd@asd.com"
        };
    }

然后ResendEmailConfirmation.cshtml.cs显示从注册页面传递的电子邮件:

代码语言:javascript
运行
复制
public void OnGet(string email)
    {
        Input = new InputModel()  //you get value from Input.Eamil in view, so you should define Input, not inputmodel
        {
            Email = email
        };            
    }

您不必更改“剃刀”视图页。

结果:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67633396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档