c# - 如何动态不呈现脚本标签?

标签 c# javascript html asp.net .net

我希望能够动态地(在页面加载时)决定将其设置为 Visible=false,这样它就不会被渲染。我试过 runat=server 但那只适用于虚拟路径。

最佳答案

您可以使用 ClientScriptManager.RegisterClientScriptBlockClientScriptManager.RegisterStartupScript有条件地添加脚本。

if (condition)
{    
    String csname2 = "ButtonClickScript";
    Type cstype = this.GetType();
    StringBuilder cstext2 = new StringBuilder();
    cstext2.Append("<script type=\"text/javascript\"> function DoClick() {");
    cstext2.Append("Form1.Message.value='Text from client script.'} </");
    cstext2.Append("script>");
    cs.RegisterClientScriptBlock(cstype, csname2, cstext2.ToString(), false);
}

如果你有不小的脚本那么你可以把脚本放在一些js文件中并使用ClientScriptManager.RegisterClientScriptInclude

if (condition)
{
    ClientScriptManager cs = Page.ClientScript;
    cs.RegisterClientScriptInclude("ScriptKey", "ScriptURLToInclude");
}

关于c# - 如何动态不呈现脚本标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23828519/

相关文章:

jquery - Html Agility Pack 无法删除节点

html - Firefox 无法通过 HTTPS 加载 CSS 文件

c# - 找不到类型或命名空间名称 'SignInManager'(是否缺少 using 指令或程序集引用?)

javascript - AJAX POST 到 PHP JSON 错误

javascript - 使用/Javascript 将主体的背景图片设置为用户输入的 URL

javascript - 如何配置 jsbeautifier 设置以实际美化我的 HTML/Javascript 代码

javascript - 如何摆脱连续 &lt;header&gt; 和 <main> 之间的差距

c# - 一次播放多个声音文件

c# - 如何从 OdbcDataReader 获取行数?

c# - 将 VB6 变量转换为 C#