0

最初に server.transfer を使用すると、完全に機能します。しかし、その後、自分のサイトに別の言語を追加して、それを実行しようとしましたが、新しい言語で失敗しました

私のコードは以下です

   if (Request.RawUrl.Contains("/tr/"))
   {
         Server.Transfer("tr/" + dt.Rows[0]["SourceURL"].ToString());

    }
    else if (Request.RawUrl.Contains("/en/"))
    {
        Server.Transfer("en/" + dt.Rows[0]["SourceURL"].ToString());

    }

「tr」転送はうまく機能しますが、失敗してページが見つからず、宛先URLに転送されません。http://mysite.com/en/test.aspx?k=13のような URL 全体を書き込むこともチェックしますが、それも機能しますが、server.transfer が失敗すると失敗します

誰も理由を言うことができますか?

ありがとう

4

1 に答える 1

0

Response.Redirect は、ウェブサイト「www.mysite.com/en/home」の状況で機能すると思います

Server.Transfer ほど効率的ではありませんが、同様に機能するはずです。「tr/」では機能するのに「en/」では機能しない理由はわかりません。これは、相対パスの問題が原因である可能性があります。URL の前にチルダ「~」を含めることもできます。

      Server.Transfer("~/en/" + dt.Rows[0]["SourceURL"].ToString());
于 2012-09-20T14:14:15.687 に答える