关于asp.net mvc:如何在MVC中获取站点的基本URL

How to get base url of the site in MVC

本问题已经有最佳答案,请猛点这里访问。

我想发送一封电子邮件给用户,他可以点击链接转移到我的网站。我不想在我的电子邮件模板中硬编码URL。我希望从某种意义上说,无论环境如何,它都会发送相关的URL。就像如果我在开发环境中,它会发送类似于http://localhost:port的东西,或者在生产环境中发送实际的网站URL。http://www.domain.com

我只需要知道如何在MVC操作中保存它。有什么建议吗?


例如,您可以使用请求对象的属性

1
2
var request = HttpContext.Current.Request
var address = string.Format("{0}://{1}", request.Url.Scheme, request.Url.Authority);

您可以这样做:

1
2
var dynamicViewBag = new DynamicViewBag();
dynamicViewBag.AddValue("BaseUrl", Request.Url.GetLeftPart(UriPartial.Authority));