2

webapp に 2 つのページがあります。Login.aspx と Main.aspx。

ログインに成功したユーザー名とパスワードの後、c# で以下に示すように、login.aspx から Main.aspx にリダイレクトします。これは、Visual Studio 2010 で正常に動作します。問題は、Web サイトをデプロイするときに、値 localhost が意味をなさないことです。

Web サイトが実行されているサーバー名を特定できますか、それともサーバー リダイレクトのメイン ページ リンクを web.config ファイルに配置する必要がありますか?

ありがとうダモ

string Redirectport = HttpContext.Current.Request.ServerVariables["SERVER_PORT"];
RedirectURL = "http://localhost:" + Redirectport + System.Web.HttpContext.Current.Response.ApplyAppPathModifier("~/Main.aspx");
4

4 に答える 4

9

どうですか

RedirectURL = Page.ResolveUrl("~/Main.aspx")?

これが「デフォルト」の方法です。

于 2012-10-11T20:54:02.903 に答える
1

サーバー変数 SERVER_NAME を使用できます

string serverName = HttpContext.Current.Request.ServerVariables["SERVER_NAME"]
RedirectURL = "http://" + serverName + ":" + Redirectport + 
    System.Web.HttpContext.Current.Response.ApplyAppPathModifier("~/Main.aspx");
于 2012-10-11T20:41:56.830 に答える
1

私の提案は、サーバー名をファイルに入れ、Application_Startイベントの下web.configのファイルにロードすることですGlobal.asax

web.configファイル内:

<appSettings>
    <add key="Domain" value="yourdomain" />
</appSettings>

Global.asaxファイル内:

protected void Application_Start(object sender, EventArgs e)
{
    try
    {
        SomeStaticGlobalClass.Domain = System.Configuration.ConfigurationManager.AppSettings["Domain"];
    }
    catch { }
}
于 2012-10-11T20:42:01.720 に答える