How to get base url of the site in MVC [duplicate]

2019-04-28 17:26发布

This question already has an answer here:

I want to send an email to the user where he can click on link to transfer to my site. I don't want to hard code the url in my Email Templates. I want this dynamic in a sense that whatever the environment it will send the related url. Like If I am on the development environment it send something like http://localhost:port or in production send the actual website url. http://www.domain.com

I just need to know how can I save it in DynamicViewBag in MVC Action. Any suggestion plz?

2条回答
家丑人穷心不美
2楼-- · 2019-04-28 17:36

You can do this:

var dynamicViewBag = new DynamicViewBag();
dynamicViewBag.AddValue("BaseUrl", Request.Url.GetLeftPart(UriPartial.Authority));
查看更多
SAY GOODBYE
3楼-- · 2019-04-28 17:55

You can use the properties of the Request object, for example

var request = HttpContext.Current.Request
var address = string.Format("{0}://{1}", request.Url.Scheme, request.Url.Authority);
查看更多
登录 后发表回答