0

URL 書き換えを使用しました。1 つの質問は、次のような URL があることです。

http://localhost/learnmore.aspx

これは URL の上書きなので、この完全な URL が必要なので、このようにコーディングしました。

string url=Request.RawUrl;

このコードの後/learnmore.aspx、url 変数を取得しましたが、完全な URL が必要ですhttp://localhost/learnmore.aspx

これどうやってするの?

4

4 に答える 4

3
string url = HttpContext.Current.Request.Url.AbsoluteUri;
// http://localhost/learnmore.aspx

string path = HttpContext.Current.Request.Url.AbsolutePath;
// /localhost/learnmore.aspx

string host = HttpContext.Current.Request.Url.Host;
// localhost

編集: クエリ文字列項目を削除するには: ( Get url without querystringから見つかりました)

var uri = new Uri(HttpContext.Current.Request.Url.AbsoluteUri);
string path = uri.GetLeftPart(UriPartial.Path);

また

Uri url = new Uri("http://www.somesite.com/mypage.aspx?myvalue1=hello&myvalue2=goodbye");
string path = String.Format("{0}{1}{2}{3}", url.Scheme, 
    Uri.SchemeDelimiter, url.Authority, url.AbsolutePath);

また

string url = "http://www.somesite.com/mypage.aspx?myvalue1=hello&myvalue2=goodbye";
string path = url.Substring(0, url.IndexOf("?"));
于 2012-04-20T09:54:12.470 に答える
1

次の方法でホストとスキームを取得できます。

Request.Url.GetLeftPart(UriPartial.Authority)

これにより、次のようになります。

http://localhost/

そして、RawUrl を追加できます

于 2012-04-20T10:13:51.193 に答える
0

ベースURLを取得しようとすることができます:

string baseUrl = Request.Url.Scheme + "://" + Request.Url.Authority + 
    Request.ApplicationPath.TrimEnd('/') + "/";
于 2012-04-20T09:53:46.240 に答える
0

Request.Url.AbsoluteUriトリックを行うでしょう。

于 2012-04-20T09:54:17.350 に答える