如何在 MVC 中获取站点的基本 URL [重复]

Posted

技术标签:

【中文标题】如何在 MVC 中获取站点的基本 URL [重复]【英文标题】:How to get base url of the site in MVC [duplicate] 【发布时间】:2014-07-05 10:29:14 【问题描述】:

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

我只需要知道如何在 MVC Action 中将其保存在 DynamicViewBag 中。有什么建议吗?

【问题讨论】:

***.com/questions/8638962/… 【参考方案1】:

可以使用Request对象的属性,例如

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

【讨论】:

【参考方案2】:

你可以这样做:

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

【讨论】:

如何在 DynamicViewBag 中设置? 非常感谢。您能否也让我知道,我如何在视图中访问它?顺便说一句,我将您的建议标记为答案,因为这是我在问题中真正提出的问题。想知道你是否请帮我在视图中访问它

以上是关于如何在 MVC 中获取站点的基本 URL [重复]的主要内容,如果未能解决你的问题,请参考以下文章

在 ASP.NET MVC 中获取操作的完整 URL [重复]

ASP.NET Core MVC 会话相同的站点 URL

.NET MVC3 路由 URL 重写 [重复]

在 MVC 操作上获取当前页面名称 [重复]

MVC 3子域路由[重复]

在 Spring MVC 中获取根/基 URL