Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 相当于tabpanel';C中的s._hide()#_Javascript_Ajax_Tabpanel - Fatal编程技术网

Javascript 相当于tabpanel';C中的s._hide()#

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

我几乎可以肯定我以前做过,但我在任何地方都找不到

我在ajax选项卡容器中有3个选项卡,外部有2个复选框。除非两个复选框都未选中,否则所有3个选项卡都可见,在这种情况下,应隐藏第3个选项卡

当复选框值更改时,我可以在javascript中显示/隐藏

    $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();
}