gpt4 book ai didi

c# - 根据条件将脚本添加到 ScriptManager

转载 作者:太空狗 更新时间:2023-10-30 00:45:58 30 4
gpt4 key购买 nike

我有一个棘手的场景,我只想在某些情况下添加 ScriptManager 脚本引用,如下所示

<asp:ScriptManagerProxy ID="scriptManagerProxy1" runat="server">
<CompositeScript>
<Scripts>
<asp:ScriptReference path=/...." />
</Scripts>
</CompositeScript>
<asp:ScriptManagerProxy>

我只想在特定条件下引用这个脚本,所以我做了如下

<% if(xyzclass.property)
{ %>

above code

<% } %>

一旦我这样做了,我得到的错误是

The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).

我用谷歌搜索并尝试将“#”添加为 <%# 但通过添加“#”它无法找到类 (xyzclass),因此出现错误

Expected class, delegate, enum, interface, or struct

我也试过做这里提到的工作 http://leedumond.com/blog/the-controls-collection-cannot-be-modified-because-the-control-contains-code-blocks/

到目前为止运气不好。如果我采用上面链接中提到的方法,它会说类似

The base class includes the field '', but its type (System.Web.UI.ScriptManagerProxy) is not compatible with the type of control (System.Web.UI.ScriptManager).

伙计们,我需要的只是通过 ScriptManager 动态添加脚本。有没有什么方法在实践中也很好。

提前致谢

尼美什

最佳答案

如果你想根据条件添加脚本,以编程方式添加它们:

ScriptManager mgr = ScriptManager.GetCurrent(this.Page);
if (condition)
mgr.Scripts.Add(new ScriptReference { Path = "~/script.js" });

在代码后面。或者,使用 ScriptManagerProxy 并在用户控件或页面本身中定义它们。这是添加脚本的好方法,但如果您使用复合脚本,它会将这些附加到与 ScriptManager 相同的复合脚本。

HTH.

关于c# - 根据条件将脚本添加到 ScriptManager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4405148/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com