我希望能够动态地(在页面加载时)决定将其设置为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");
}

09-18 10:54