0

次の仮想ディレクトリを持つWebサイトがあり、それぞれがアプリケーションルートとして構成されています。

  1. _root / website1
  2. _root / website2
  3. _root / website3

そして、それらのそれぞれが独自のポインティングドメインを持っています:

  1. www.website1.com
  2. www.website2.com
  3. www.website3.com

website1にあるResolveClientUrl( "〜/ Default.aspx")を呼び出すと、次のようになります。

/website1/Default.aspx

これは正しいですが、ブラウザはユーザーに次のことを示します。

http://www.website1.com/website1/Default.aspx

これは間違っています、それは次のことを指しているはずです:

http://www.website1.com/Default.aspx

なぜこれが起こっているのか理解しています。アプリケーションに仮想ディレクトリを無視し、それがWebサイトのルート(この場合はドメインのルート)にあると想定するように指示する回避策があるかどうかを知りたいですか?おそらく、ResolveClientUrlをオーバーライドして、フラグを追加しますか?

4

1 に答える 1

0

以下のコードとして使用できます。

string.Format(Request.IsSecureConnection ? "https://{0}{1}" : "http://{0}{1}", Request.Url.Host, Page.ResolveUrl("~/default.aspx "));

于 2012-05-13T15:22:48.303 に答える