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

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

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

【问题讨论】:

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-4 razor


【解决方案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 中设置?
    • 非常感谢。您能否也让我知道,我如何在视图中访问它?顺便说一句,我将您的建议标记为答案,因为这是我在问题中真正提出的问题。想知道你是否请帮我在视图中访问它
    猜你喜欢
    • 2012-09-16
    • 1970-01-01
    • 2010-11-20
    • 1970-01-01
    • 1970-01-01
    • 2016-11-24
    • 2020-08-25
    相关资源
    最近更新 更多