2010-12-20 32 views
0


私は、このクラスをしましたし、それは私にのScriptManagerが宣言されていない - のErr MSG

Public NotInheritable Class ResponseHelper 
Private Sub New() 
End Sub 
Public Shared Sub Redirect(ByVal response As HttpResponse, ByVal url As String, ByVal target As String, ByVal windowFeatures As String) 
    If ([String].IsNullOrEmpty(target) OrElse target.Equals("_self", StringComparison.OrdinalIgnoreCase)) AndAlso [String].IsNullOrEmpty(windowFeatures) Then 
     response.Redirect(url) 
    Else 
     Dim page As Page = DirectCast(HttpContext.Current.Handler, Page) 
     If page Is Nothing Then 
      Throw New InvalidOperationException("Cannot redirect to new window outside Page context.") 
     End If 
     url = page.ResolveClientUrl(url) 
     Dim script As String 
     If Not [String].IsNullOrEmpty(windowFeatures) Then 
      script = "window.open(""{0}"", ""{1}"", ""{2}"");" 
     Else 
      script = "window.open(""{0}"", ""{1}"");" 
     End If 
     script = [String].Format(script, url, target, windowFeatures) 
     ScriptManager.RegisterStartupScript(page, GetType(Page), "Redirect", script, True) 
    End If 
End Sub 

エンドクラス

このリンクからこのコード「のScriptManagerが宣言されていません」というエラー名を与えた:
http://weblogs.asp.net/infinitiesloop/archive/2007/09/25/response-redirect-into-a-new-window-with-extension-methods.aspx

私は新しいページを開いてパラメータを送信する方法を理解するために8時間をかけました。そして、このコードを見つけて、それを適用しようとすると6時間かかりませんでした。

ありがとうございました。

答えて

0

System.UI.Web.ScriptManager.RegisterStartupScript(...)、scirptmananger前に完全なネームスペースを入れて試してみてください。 代わりにPage.ClientScript.RegisterStartupScriptを使用してください。 AJAXが利用可能であるかどうかにかかわらず動作するソリューションをご希望の場合は、at this linkをご覧ください。

0

は、あなたがのScriptManagerにアクセスするためにインストールするアヤックスが必要

関連する問題