我正在使用此行
使用电子邮件确认开发mvc应用 a = randint(0,1)
color = 'Red' if a == 1 else color == 'Black'
print(color)
但我想在该方法中发送额外的参数
await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>");
是
的一部分 public virtual Task SendEmailAsync(TKey userId, string subject, string body);
如何覆盖它或创建一个接受另一个参数的扩展名。?
答案 0 :(得分:1)
简单 - 你没有。相反,将方法包装在您自己的方法中,该方法接收额外的参数并对其执行任何操作。
我假设你想使用'额外参数'来形成你的电子邮件正文或主题。
private void MyMethod(... whatever ...)
{
// TODO: Use whatever
await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking here");
}
答案 1 :(得分:0)
通常在MVC中使用其他来自User<TUser, TKey>
的其他类,如“UserManager”,但它应该适用于任何情况。
所以它会是这样的:
public static class UserManagerExtension
{
public static Task SendEmailAsync(this UserManager manager,
TKey userId, string subject, string body, string extraParameter)
{
//Do something with parameter
return manager.SendEmailAsync(userId, subject, body);
}
}
因此,如果UserManager从User<TUser, TKey>
开始,只需将TKey
类型替换为您的({默认为string
),它应该有效。