我希望能够动态地(在页面加载时)决定将其设置为 Visible=false
,这样它就不会被渲染。我试过 runat=server
但那只适用于虚拟路径。
最佳答案
您可以使用 ClientScriptManager.RegisterClientScriptBlock或 ClientScriptManager.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/