【问题标题】:"Custom" ScriptManager control?“自定义”ScriptManager 控件?
【发布时间】:2010-02-25 16:36:17
【问题描述】:

我正在寻找构建一个本质上抽象 ScriptManager 的控件。我需要它看起来/感觉就像尽可能接近常规 ScriptManager。这样做的原因是我们可以使用“#if not DEBUG”语句在 CompositeScript 中动态加载 .js 文件以进行发布,同时在我们的开发环境中保持轻松调试。

这是我到目前为止一直在玩的东西(控件标记只包含一个空的 ScriptManagerProxy):

Public Partial Class MyScriptManager
Inherits System.Web.UI.UserControl

Dim mlScripts As New List(Of ScriptReference)
Dim mlServices As New List(Of ServiceReference)

区域“属性”

Public Property Scripts() As List(Of ScriptReference)
    Get
        Return mlScripts
    End Get
    Set(ByVal value As List(Of ScriptReference))
        mlScripts = value
    End Set
End Property

Public Property Services() As List(Of ServiceReference)
    Get
        Return mlServices
    End Get
    Set(ByVal value As List(Of ServiceReference))
        mlServices = value
    End Set
End Property

结束区域

Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init

    #If DEBUG Then
       LoadNonComposite()
    #Else
       LoadComposite()
    #End If

    For Each scr As ServiceReference In mlServices
        smScriptManagerProxy1.Services.Add(scr)
    Next

End Sub

区域“辅助方法”

Private Sub LoadComposite()
    For Each sr As ScriptReference In mlScripts
        smScriptManagerProxy1.CompositeScript.Scripts.Add(sr)
    Next
End Sub

Private Sub LoadNonComposite()
    For Each sr As ScriptReference In mlScripts
        smScriptManagerProxy1.Scripts.Add(sr)
    Next
End Sub

结束区域

结束类

似乎没有正确注册 ScriptReferences。在 DEBUG 中,我收到有关正在加载的多个脚本的错误,在 RELEASE 中,我收到“未定义系统”(未加载 Ajax 库)。我们使用 ScriptReferenceProfiler 来获取所有正在加载的 .js 并手动添加它(又名,“MicrosoftAjax.js”是在标记中手动添加到 ScriptManager 的)

感谢任何帮助/指导!

【问题讨论】:

    标签: .net javascript scriptmanager


    【解决方案1】:

    对不起,我想通了。不久前,我使用了复制和粘贴的 .js 引用,此后它们发生了变化。从而导致问题。

    如果有人对在不牺牲开发便利性的情况下轻松提升性能感兴趣的话,上面的代码就可以工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-20
      • 2013-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-26
      相关资源
      最近更新 更多