Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.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通过c#asp.net中的自定义页面库导致多次迭代_C#_Javascript_Asp.net_Load - Fatal编程技术网

Javascript通过c#asp.net中的自定义页面库导致多次迭代

Javascript通过c#asp.net中的自定义页面库导致多次迭代,c#,javascript,asp.net,load,C#,Javascript,Asp.net,Load,我一直在寻找答案,现在已经穷途末路了。我有一个自定义的页面库,当head部分有一个带有javascript onload()的脚本标记时,每个页面库都会重新加载。如果有4个,页面第一次遍历基中的重写,FindControl全部加载,我插入一些动态控件,一切都很好,然后它再次遍历基4次 PartialCachingControl ucHeader = (PartialCachingControl)Page.LoadControl("App_Controls/BaseHeaderControl.as

我一直在寻找答案,现在已经穷途末路了。我有一个自定义的页面库,当head部分有一个带有javascript onload()的脚本标记时,每个页面库都会重新加载。如果有4个,页面第一次遍历基中的重写,FindControl全部加载,我插入一些动态控件,一切都很好,然后它再次遍历基4次

PartialCachingControl ucHeader = (PartialCachingControl)Page.LoadControl("App_Controls/BaseHeaderControl.ascx");
HtmlContainerControl divHeader = (HtmlContainerControl)FindControl("divHeader");

if (divHeader != null && ucHeader != null)
{
    divHeader.Controls.Add(ucHeader);

    if (ucHeader.Controls.Count == 0)
    {
        divHeader.Visible = false;
    }
}
第一次一切正常时,我可以在usercontrol中找到控件,它运行得很好,第二次,usercontrol控件为0。因此,它不会在页面上造成问题,因为它会循环浏览,然后忽略它,然后继续

没有任何javascript,它工作得非常完美

主要的问题是,我试图使没有内容的div不可见,所以当我设置(pseudo)如果usercontrol control等于0,usercontrol visible等于false,第一次它不是false,但是第二次和后续时间它是false,所以它总是以false结束


帮助。

您是否考虑过简单地将内容包装在
ASP:Panel
ASP:PlaceHolder
控件中,并根据需要将
Visible
设置为
true
/
false
?我知道这并不是你问题的答案,但有时手动操作HTML控件会变得很棘手,因为页面生命周期会涉及其中。我想知道这里是否发生了这种情况。你能发布加载的javascript吗?它是任何javascript或css,我通过在文件夹中配置带有css或javascript文件的IgnoreRoute解决了这个问题。工作得很有魅力。1分钟的工作解决了大约100个头痛问题。@Daniel,你可以发布自己问题的答案。这样做完全可以接受,请参阅。