在ASP中重定向时,将带有QueryString的注册用户电子邮件发送到登录页.Net MVC



我是Asp的新手。Net Development,我遇到了一个问题,我想通过查询字符串向用户发送电子邮件,同时将他们重定向到登录页面。有人能帮我吗?

这是我一直写到现在的代码。

[HttpGet]
public ActionResult Register(int id = 0)
{
UserDetail usermodel = new UserDetail();
return View(usermodel);
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Register(UserDetail userDetail)
{
using (dbModels user = new dbModels())
{
if (user.UserDetails.Any(x => x.Email == userDetail.Email))
{
ViewBag.EmailExists = "Email Already Exists";
return View("Register");
}
userDetail.Status = 1;
userDetail.created_at = DateTime.Now.ToString();
user.UserDetails.Add(userDetail);
user.SaveChanges();
}
ModelState.Clear();
return View("Login", new UserDetail());
}
[HttpGet]
public ActionResult Login()
{
return View("Login");
}

正如我理解你的问题,而不是代码

return View("Login", new UserDetail());

尝试使用以下代码

return RedirectToAction ("Login", new { email = userDetail.Email });

您可以在Register post操作中使用RedirectToAction重定向到登录页面,并将查询字符串作为userEmail传递给用户注册电子邮件id。您将在登录页面获得用户电子邮件id(通过调试进行检查(

[HttpGet]
public ActionResult Register(int id = 0)
{
UserDetail usermodel = new UserDetail();
return View(usermodel);
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Register(UserDetail userDetail)
{
using (dbModels user = new dbModels())
{
if (user.UserDetails.Any(x => x.Email == userDetail.Email))
{
ViewBag.EmailExists = "Email Already Exists";
return View("Register");
}
userDetail.Status = 1;
userDetail.created_at = DateTime.Now.ToString();
user.UserDetails.Add(userDetail);
user.SaveChanges();
}
ModelState.Clear();
return RedirectToAction("Login", new { userEmail = userDetail.Email });
}
[HttpGet]
public ActionResult Login(string userEmail)
{
/* Your code userEmail parameter*/
return View("Login");
}

最新更新