Ваш маршрут по умолчанию принимает параметр с именем id
, а не activationCode
. Вам либо нужно изменить метод контроллера на
public ActionResult VerifyTheAccount(string id)
и измените ссылку, чтобы установить id
, например (из ваших комментариев)
var verifyURL = "/Authentication/VerifyTheAccount/" + activationCode
или с использованием предпочтительного Url.Action()
метода
var verifyURL = '@Url.Action("VerifyTheAccount", "Authentication", new { id = activationCode })
В качестве альтернативы вам нужно создать определенное определение маршрута до DefaultRoute
routes.MapRoute(
name: "Activation",
url: "Authentication/VerifyTheAccount/{activationCode}",
defaults: new { controller = "Authentication", action = "VerifyTheAccount" }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);