【发布时间】:2020-12-07 02:24:24
【问题描述】:
public IActionResult Register(SysUser usr)
{
if (!ModelState.IsValid)
{
ViewData["Message"] = "Invalid Input";
ViewData["MsgType"] = "warning";
return View("UserRegister");
}
else
{
string insert =
@"INSERT INTO SysUser (UserId, UserPw, FullName, Email, CorporateId, UserRole) VALUES
('{0}', HASHBYTES('SHA1', '{1}'), '{2}', '{3}', {4}, 'user')";
if (DBUtl.ExecSQL(insert, usr.UserId, usr.UserPw, usr.FullName, usr.Email) == 1)
{
usr.ActivationToken = Guid.NewGuid().ToString();
if (usr.ActivationToken != null)
{
string inst = @"INSERT INTO SysUser(Active)VALUES('1')";
if (DBUtl.ExecSQL(inst, usr.Active) == 1)
{
string template = @"Hi {0},<br/><br/>
you have successfully created an account at Parkway Pantai Health Screening Portal.
Please click on the link below to verify your email address and complete your registration. Your user id is <b>{1}</b> and password is <b>{2}</b>.
<br/>";
template+= "</br><a href= '" + Request.Url.AbsoluteUri.Replace("CS.aspx", "CS_Activation.aspx?ActivationToken"+ usr.ActivationToken
) + "'>Click here to activate your account.</a>";
string title = "Registration Successul - Welcome";
string message = String.Format(template, usr.FullName, usr.UserId, usr.UserPw);
string result = "";
bool outcome = false;
// TODO: L10 Task 2b - Call EmailUtl.SendEmail to send email
// Uncomment the following line with you are done
outcome = EmailUtl.SendEmail(usr.Email, title, message, out result);
if (outcome)
{
ViewData["Message"] = "User Successfully Registered";
ViewData["MsgType"] = "success";
}
else
{
ViewData["Message"] = result;
ViewData["MsgType"] = "warning";
}
}
else
{
ViewData["Message"] = DBUtl.DB_Message;
ViewData["MsgType"] = "danger";
}
}
}
return View("UserRegister");
}
}
大家好,我正在尝试使用 Guid.NewGuid() 发送激活链接,当我想使用“Request.Url.AbsoluteUri.Replace”生成链接时,它会显示错误:
“HttpRequest”不包含“Url”的定义,并且找不到接受“HttpRequest”类型的第一个参数的可访问扩展方法“Url”(您是否缺少 using 指令或程序集引用?)。
有什么解决方法吗?我使用的框架是 c# .net framework 3.1。提前感谢您的帮助!
【问题讨论】:
-
您是否正在尝试生成您正在运行的网站的基本网址?
标签: c#