0

Server.TransferWeb サイトがメンテナンス モードであることをユーザーに通知するページを表示するために使用します。
global.asax:

void Application_BeginRequest(object sender, EventArgs e)
{
    if (Request.IsLocal)
        return;

    if (ConfigurationManager.AppSettings["MaintenanceMode"] == "true")
    {
        if (Request.AcceptTypes != null && Request.AcceptTypes[0] == "text/html")
            Server.Transfer("~/UserMessage.aspx?Maintenance");
    }
}  

ページのソース コードを見ると、CSS パスが更新されていることがわかりますが、画像のパスは更新されていません。
助言がありますか?

4

2 に答える 2

1

私はapp_offline.htmアプリケーションのルートで使用するか、少なくともResponse.Redirect私があなただった場合Server.Transfer、HTTP アドレスを変更しないため、すべてのアセットを基になるページにリダイレクトするか、すべてのアドレスを絶対にする必要があります。

于 2012-05-18T06:36:27.307 に答える
0

実際には、ページのserver.transfer実行を停止し、別のページ、つまり指定したページの実行を開始します。

その結果、ユーザーは同じ URL の下に別のページを表示します。

これは画像パスとは関係ありません。また、asp.net 処理から画像を渡すように設定した場合を除き、画像は asp.net から渡されません。また、提供されたコードでは、画像の場合は転送しませんが、text/html.

実行を別の css に移動した場合、画像パスは変更されず、ユーザーに表示されるページのみが変更されます。

MapPath() を使用していて、これは新しいディレクトリに応じて変更されないということでしょうか?

于 2012-05-18T06:37:30.670 に答える