C# 如何在电子邮件中发送指向其他操作的链接?

C# 如何在电子邮件中发送指向其他操作的链接?,c#,asp.net-mvc,C#,Asp.net Mvc,我想在电子邮件中发送一个链接,用于我们的密码重置功能。这是我想到的最好的 string link = string.Format("<a href='{0}://{1}{2}'>Click here.</a>", Request.Url.Scheme, Request.Url.Authority, Url.Action("ResetPasswordAction", new { passwordToken = token })); string link=string

我想在电子邮件中发送一个链接,用于我们的密码重置功能。这是我想到的最好的

string link = string.Format("<a href='{0}://{1}{2}'>Click here.</a>", 
Request.Url.Scheme, Request.Url.Authority, 
Url.Action("ResetPasswordAction", new { passwordToken = token }));
string link=string.Format(“”,
Request.Url.Scheme,Request.Url.Authority,
Action(“ResetPasswordAction”,new{passwordToken=token});
有更优雅的解决方案吗?

看看

string link = string.Format("<a href='{0}://{1}{2}'>Click here.</a>", 
Request.Url.Scheme, Request.Url.Authority, 
Url.Action("ResetPasswordAction", new { passwordToken = token }));
它应导致:

string link = string.Format("<a href='{0}://{1}{2}'>Click here.</a>", 
Request.Url.Scheme, Request.Url.Authority, 
Url.Action("ResetPasswordAction", new { passwordToken = token }));
HtmlHelper.GenerateRouteLink(Request.RequestContext,
                             RouteTable.Routes,
                             "Click here.",
                             targetRouteName,
                             Request.Url.Scheme,
                             Request.Url.Authority,
                             "",
                             new RouteValueDictionary(new { action = "ResetPasswordAction", controller = "YourController", passwordToken = token }),
                             new Dictionary<string, object>()
    );
htmlhelp.GenerateRouteLink(Request.RequestContext,
可路由。路由,
“点击这里。”,
targetRouteName,
Request.Url.Scheme,
Request.Url.Authority,
"",
新建RouteValueDictionary(新建{action=“ResetPasswordAction”,controller=“YourController”,passwordToken=token}),
新字典()
);

虽然我不确定它是否“更优雅”,但我希望这将有助于定义“更优雅”。为什么这不够优雅?这与电子邮件无关。url将在服务器端生成并转换为html锚定标记。@KrisVandermotten我认为这很简单,就像在视图中插入链接一样,我的解决方案感觉有点像拼凑在一起一样。@emrenevayeshirazi我将删除电子邮件标记。在视图中插入链接时,使用相对路径。但是,在电子邮件中,您需要使用绝对路径。因此,它不能是微不足道的。我觉得你的解决方案不错。
string link = string.Format("<a href='{0}://{1}{2}'>Click here.</a>", 
Request.Url.Scheme, Request.Url.Authority, 
Url.Action("ResetPasswordAction", new { passwordToken = token }));