1

フォームから要素を受け取るための次のコードがありますが、問題は、URLを取得するために特定のポートを使用したいということです。しかし、応答リダイレクトで次のようにドメインとポートを入力すると

Response.Redirect("http://mydomain:8888/MyApplication/default.aspx")

ブラウザでの応答は次のとおりです。http://mydomain.com/MyApplication/default.aspxポート番号なし。それで、誰かがポート番号をURLに渡す方法を知っていますか?

よろしくお願いします。

<script runat="server">

 Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)

     Response.Redirect("MyApplication/default.aspx")

 End Sub
</script> 
4

1 に答える 1

1

Response.Redirect修飾から URL を渡し、次の形式でない場合は URL を修正します。http://server/path

useFullyQualifiedRedirectUrlプロパティを使用してこの修飾を無効にすることができます。カスタム リダイレクトを作成します。

したがってUseFullyQualifiedRedirectUrl=false、 MSDN が言うように、 ether はこの関数をリダイレクトに使用するだけです。

public static void CustomRedirect(string url, bool endResponse)
{
    HttpResponse cResponce = HttpContext.Current.Response;

    cResponce.Clear();
    cResponce.TrySkipIisCustomErrors = true;
    cResponce.StatusCode = 302;
    cResponce.Status = "302 Temporarily Moved";
    cResponce.RedirectLocation = url;

    cResponce.Write("<html><head><title>Object moved</title></head><body>\r\n");
    cResponce.Write("<h2>Object moved to <a href=\"" + url + "\">here</a>.</h2>\r\n");
    cResponce.Write("</body></html>\r\n");

    if (endResponse){
        cResponce.End();
    }
}

この関数は、asp.net のリダイレクト機能のカット版です。

于 2012-11-20T10:30:57.957 に答える