我需要能够在 Controller 上的操作中构建一个链接来发送电子邮件。执行此操作的最佳实践是什么?我不想自己构建它,以防我的路线发生变化。
我应该查看每封电子邮件并渲染并发送它吗?这可能是一个好方法。
最佳答案
如果您只想获取某个操作的路径,请使用UrlHelper
:
UrlHelper u = new UrlHelper(this.ControllerContext.RequestContext);
string url = u.Action("About", "Home", null);
如果您想创建超链接:
string link = HtmlHelper.GenerateLink(this.ControllerContext.RequestContext, System.Web.Routing.RouteTable.Routes, "My link", "Root", "About", "Home", null, null);
Intellisense 将为您提供每个参数的含义。
<小时/>评论更新: Controller 已经有一个UrlHelper
:
string url = this.Url.Action("About", "Home", null);
关于asp.net - 在 Controller .NET MVC 中创建 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/699782/