【发布时间】:2018-10-08 02:49:05
【问题描述】:
以上帝的名义
大家好。我正在 VS 2017 中为我的 mvc 5 网站创建注册。它有电子邮件确认。激活的 URL 链接将在电子邮件中完整接收。当我单击时,它可以正常工作,并且它恰好在正确的 ActionMethod 上到达我的控制器,但我不知道为什么activationCode 为空! :| 在它正常工作之前,我的意思是激活码不为空。我不知道它发生了什么!
任何帮助将不胜感激。
已编辑:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Password",
url: "{controller}/{action}/{passwordResetCode}",
defaults: new { controller = "Authentication", action = "ResetPassword" }
);
routes.MapRoute(
name: "Activation",
//url: "{controller}/{action}/{activationCode}",
url: "Authentication/VerifyAccount/{activationCode}",
defaults: new { controller = "Authentication", action = "VerifyAccount" }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
【问题讨论】:
-
请在接收此 URL 并显示代码页的操作旁边提供发送到用户电子邮件的 URL 示例
-
var verifyURL = "/Authentication/VerifyTheAccount/" + activationCode; var link = Request.Url.AbsoluteUri.Replace(Request.Url.PathAndQuery, verifyURL);示例:localhost:0000/Authentication/VerifyTheAccount/…
-
并且在控制器内部,您应该接受名称 id 和类型 id GUID 的参数,除此之外检查您的路由是否接受 {id} 参数
-
@MahmoudHeretani 感谢您关注我的问题。我编辑了问题,并在其中放入了另一张图片。请你看看好吗?
-
@MahmoudHeretani 你能给我一个例子吗?我想我必须把路线放在行动上。但不知道写什么正确。
标签: asp.net-mvc-5 registration email-verification