ScriptManager не объявлен - ошибка сообщения - PullRequest
0 голосов
/ 21 декабря 2010


У меня есть этот класс, и он дал мне имя ошибки 'ScriptManager не объявлен'

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 

Конечный класс

Этот код по этой ссылке:
http://weblogs.asp.net/infinitiesloop/archive/2007/09/25/response-redirect-into-a-new-window-with-extension-methods.aspx

Я 8 часов пытался выяснить, как открыть новую страницу и отправить ей параметры.И нашел этот код, и 6 часов пытался его применить, но ничего.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 21 декабря 2010

Вам необходим Ajax для доступа к Scriptmanager. Вместо этого используйте Page.ClientScript.RegisterStartupScript . Если вам нужно решение, которое работает независимо от того, доступен AJAX или нет, посмотрите по этой ссылке

0 голосов
/ 21 декабря 2010

Попробуйте поместить полное пространство имен перед scirptmananger, System.UI.Web.ScriptManager.RegisterStartupScript (...)

...