Chr*_*sCa 4 asp.net asp.net-ajax scriptmanager
我的母版页面上有一个脚本管理器.我需要一个或两个内容页面来删除webresourse.axd,因为它会导致页面上的其他JavaScript出现问题
如何在这些页面上禁用脚本管理器?
ScriptManager对象似乎没有任何看起来像他们会完成工作的属性
这可能吗?
将<asp:ScriptManager />移动到自定义控件,例如MyScriptManager.ascx - .ascx文件中唯一的代码将是ScriptManager标记 - 然后您可以在自定义控件上设置Visible属性以控制是否呈现ScriptManager.
<foo:MyScriptManager id="scriptManager" runat="server" Visible="false" />
Run Code Online (Sandbox Code Playgroud)
您甚至可以在MasterPage中添加一个属性,您可以在内容页面中使用该属性来显示/隐藏ScriptManager:
// In your master page
public bool ShowScriptManager {get; set;}
// In your master page's Page_Load
private void Page_Load(object sender, EventArgs e) {
...
scriptManager.Visible = ShowScriptManager;
...
}
Run Code Online (Sandbox Code Playgroud)
由于您的大多数页面都需要ScriptManager,因此可能会将其默认设置为true - 我认为您可以在Master Page的Page_Init方法构造函数中执行此操作:
public SiteMaster() {
...
ShowScriptManager = true;
...
}
// Or alternatively
private void Page_Init(object sender, EventArgs e) {
...
ShowScriptManager = true;
...
}
Run Code Online (Sandbox Code Playgroud)
然后,如果您在内容页面中设置了MasterType:
<%@ MasterType VirtualPath="~/path/to/master/page" %>
Run Code Online (Sandbox Code Playgroud)
你只需要在内容页面的Page_Load中做这样的事情:
Master.ShowScriptManager = false;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8066 次 |
| 最近记录: |