Javascript 相当于tabpanel';C中的s._hide()#
我几乎可以肯定我以前做过,但我在任何地方都找不到 我在ajax选项卡容器中有3个选项卡,外部有2个复选框。除非两个复选框都未选中,否则所有3个选项卡都可见,在这种情况下,应隐藏第3个选项卡 当复选框值更改时,我可以在javascript中显示/隐藏Javascript 相当于tabpanel';C中的s._hide()#,javascript,ajax,tabpanel,Javascript,Ajax,Tabpanel,我几乎可以肯定我以前做过,但我在任何地方都找不到 我在ajax选项卡容器中有3个选项卡,外部有2个复选框。除非两个复选框都未选中,否则所有3个选项卡都可见,在这种情况下,应隐藏第3个选项卡 当复选框值更改时,我可以在javascript中显示/隐藏 $find('<%=OptionsTabs.ClientID%>').get_tabs()[2]._hide(); $find('<%=OptionsTabs.ClientID%>').get_tabs()[2
$find('<%=OptionsTabs.ClientID%>').get_tabs()[2]._hide();
$find('<%=OptionsTabs.ClientID%>').get_tabs()[2]._show();
$find(“”).get_tabs()[2]。_hide();
$find(“”).get_tabs()[2]。_show();
但是在PageLoad上,我无法让它与C#一起工作。我尝试设置显示和可见性,但都没有隐藏选项卡。唯一有效的方法是将Visible=false设置为Visible,但是如果我设置为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);
string script=“$find(“”).get_tabs()[2]。_hide();”;
ClientScriptManager cs=Page.ClientScript;
字符串csname1=“TabScript”;
类型cstype=this.GetType();
RegisterStartupScript(cstype,csname1,script);
选项选项卡在此为空
我试着在服务器端发送客户端ID。
我尝试发送选项卡名称而不是选项卡容器名称。
我尝试设置选项卡和选项卡标题的显示/可见性。没有任何效果。请尝试以下代码:
string script = "$find('" + OptionsTabs.ClientID + "').get_tabs()[2]._hide();";
ClientScriptManager cs = Page.ClientScript;
String csname1 = "TabScript";
Type cstype = this.GetType();
cs.RegisterStartupScript(cstype, csname1, script, true);
另一种选择是,由于您使用的是MS Ajax,并且它还具有客户端的页面生命周期,因此您可以尝试在JavaScript中加载事件,将此添加到客户端代码:
Sys.Application.add\u load(已加载);
已应用函数(发送方、事件参数){
$find(“”).get_tabs()[2]。_hide();
}
你不能通过类似于ClientScript的东西生成相同的JS代码吗?在你的ASP.NET/C代码中,RegisterStartupScript
必须触发它。希望有更简单的事情。你说的触发是什么意思?它将在页面加载后自动运行。仅尝试使用ClientScript.RegisterStartupScript添加它,但在尝试获取选项卡时引发空引用异常。您是说在客户端代码中$find找不到任何内容?相同的null引用错误:无法获取未定义或null referenceApparently控件的属性“get_tabs”,此调用时该控件尚未初始化。我已经用客户端备选方案更新了我的答案
Sys.Application.add_load(appLoaded);
function appLoaded(sender, eventArgs) {
$find('<%=OptionsTabs.ClientID%>').get_tabs()[2]._hide();
}