0

asp.net Webサイトでは、Webフォームで、ボタンonclickイベントの後、以下のようにコードビハインドメソッドを呼び出しています

 protected void Button1_Click(object sender, EventArgs e)
 {
     MyClass obj = new MyClass();
     String res = obj.CallMe("some parameters");
 }

MyClass がMyClass.csファイル内に存在する場所。CallMe()の内部:

public String CallMe("some parameters")
{
   String to_return ="";
   //some code : to_return="something";
   string page_name= // some code returns a name of page to redirect to
   if(page_name is null)
   { return to_return; }
   else
      //redirect to page_name;
}

HttpResponse オブジェクトにアクセスできないため、.cs ファイルからリダイレクトする方法は?

4

2 に答える 2

2

クラスがWebページ内から呼び出されているHttpContext.Current場合は、クラス内の静的インスタンスにアクセスできます。System.Web名前空間をインポートして、通常どおりに呼び出します。

using System.Web;
System.Diagnostics.Debug.WriteLine(HttpContext.Current.Timestamp.ToString());
HttpContext.Current.Response.Redirect("http://www.google.com");
于 2012-09-05T11:43:38.103 に答える
1

これを試して

if(HttpContext.Current != null)
     HttpContext.Current.Response.Redirect("~");

HttpContext を使用すると、現在のリクエスト、レスポンスなどを取得できます。ただし、特にビジネス レイヤ クラスから呼び出している場合は、現在のコンテキストが null でないことを常に確認するように注意してください。

ASP.Net フォーラム

于 2012-09-05T11:49:04.757 に答える