我几乎可以肯定我以前做过这个,但我在任何地方都找不到......
我在 ajax TabContainer 中有 3 个选项卡,在外面有 2 个 CheckBox。除非两个 CheckBox 都未选中,否则所有 3 个选项卡都是可见的,在这种情况下,应隐藏第 3 个选项卡。
当复选框值更改时,我可以在 javascript 中显示/隐藏
$find('<%=OptionsTabs.ClientID%>').get_tabs()[2]._hide();
$find('<%=OptionsTabs.ClientID%>').get_tabs()[2]._show();
但是在 PageLoad 上,我无法让它与 C# 一起使用。我尝试设置显示和可见性,但都没有隐藏选项卡。唯一有效的是设置 Visible=false,但如果我这样做,则根本不会呈现选项卡,并且 javascript 以后无法显示它。
编辑: 我尝试在 PageLoad 中注册相同的脚本,但仍然无法正常工作
string script = "<script type=text/javascript> $find('<%=OptionsTabs.ClientID%>').get_tabs()[2]._hide(); </script>";
ClientScriptManager cs = Page.ClientScript;
String csname1 = "TabScript";
Type cstype = this.GetType();
cs.RegisterStartupScript(cstype, csname1, script);
OptionsTabs 在这里为空。
我尝试发送我得到服务器端的 ClientID。我尝试发送选项卡名称而不是选项卡容器名称。我尝试设置选项卡和选项卡标题的显示/可见性。没有任何效果。