web-dev-qa-db-ja.com

MVCでサイトのベースURLを取得する方法

リンクをクリックして私のサイトに転送できるユーザーにメールを送信したいと思います。メールテンプレートにURLをハードコーディングしたくありません。どのような環境でも関連するURLを送信するという意味で、この動的なものが必要です。たとえば、開発環境にいる場合はhttp://localhost:portのようなものを送信するか、本番環境では実際のWebサイトのURLを送信します。 http://www.domain.com

MVCアクションのDynamicViewBagに保存する方法を知る必要があります。何か提案plz?

8
Ammar Khan

あなたはこれを行うことができます:

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

たとえば、Requestオブジェクトのプロパティを使用できます。

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