나는 아무 소용, 프로그래밍 스크립트 관리자를 사용하지 않도록이 조언 다음 시도했다 : Disable ScriptManager on certain pages해제 스크립트 관리자 프로그램
StandardScriptManager.ascx :
<%@ control language="vb" autoeventwireup="false" codebehind="StandardScriptManager.ascx.vb" inherits="StandardScriptManager" %>
<h1>StandardScriptManager is visible</h1>
<asp:scriptmanager id="MyScriptManager" runat="server" enablepartialrendering="true" >
<scripts>
<asp:scriptreference path="/Standard/Core/Javascript/script1.js" />
<!-- etc... -->
</scripts>
</asp:scriptmanager>
StandardScriptManager합니다. ascx.vb :
Partial Public Class StandardScriptManager
Inherits System.Web.UI.UserControl
Private _ScriptManager As ScriptManager
Private Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
If DisableAllScripts Then
Me.Visible = False
End If
End Sub
End Class
DisableAllScripts
이 true 일 때 <h1>
은 나타나지 않지만 스크립트는 여전히 페이지에 추가됩니다. ScriptManagerProxy 객체가 페이지의 다른 위치에 있기 때문에 이것이 의심 스럽습니다.
가 나는 또한 Page.Init
에 Me.Controls.Clear()
을 시도했지만, 내가 얻을이
[InvalidOperationException: Page cannot be null. Please ensure that this operation is being performed in the context of an ASP.NET request.]
System.Web.UI.ScriptManager.get_IPage() +372796
System.Web.UI.ScriptManager.OnPageInitComplete(Object sender, EventArgs e) +13
System.Web.UI.Page.OnInitComplete(EventArgs e) +8699478
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +467
그것은 스크립트 관리자를 해제하는 간단한 방법이 아니라고 미치게입니다; 컨트롤에 Enabled
속성이없고 ScriptManager.Visible=False
을 설정할 수 없습니다.
아이디어가 있으십니까?