zoukankan      html  css  js  c++  java
  • 解决用户控件调用主页面控件的问题.

    因为用户控件会在主页面控件之前被解析.。
    所以,用户控件的事件中,无法捕获主页面上的控件(如:<asp:textbox id="txtBillNo"/>,原因是它还未被解析)。
    用如下方法可以解决这个问题:

    在用户控件的"新增"事件中注册一个隐藏控件:
    private void imgbtnAdd_Click(object sender, System.Web.UI.ImageClickEventArgs e)
    {
        
    this.Page.RegisterHiddenField("IsOpenAddPage","true");
    }

    然后在主页面的最底下写:
                    </tr>
                
    </table>
            
    </FORM>
            
    <script language="javascript">
                
    var obj = document.getElementById("IsOpenAddPage");
                
    if (obj!=null)
                {
                    
    if (obj.value=='true')
                    {
                        OpenAddPage();
                        obj.value
    ='';
                    }
                }
                
                
    function OpenAddPage()
                {
                    
    var SID=document.getElementById('txtBillNo').value;
                    
    var url='../CangKuLL/CangKuLLAdd.aspx?returncontrol=CCDataGrid1_imgbtnAdd&strBillNo='+SID;
                    window.open(url,'new_1','left
    =160,top=200,height=450,width=750,toolbar=0,scrollbars=2');
                }
            
    </script>
        
    </BODY>
    </HTML>

    这样,在用户控件的"新增"事件中,就可以访问主页面上的控件了!
    (用户控件的"新增"事件会刷新主页面,所以会重新执行上面这段脚本)
  • 相关阅读:
    消息队列 RPC之间的区别与联系
    RabbitMQ, ZeroMQ, Kafka 是一个层级的东西吗, 相互之间有哪些优缺点?
    嵌入式软件开发工程师谈软件架构的设计
    值得推荐的C/C++框架和库 (真的很强大)
    10.2-嵌入式系统库资源集合
    正则表达式
    vscode代码阅读
    vscode配置
    VSCode的开发环境zsESampleLinux
    MySQL与宿主Linux之间交互式执行命令
  • 原文地址:https://www.cnblogs.com/tohen/p/759587.html
Copyright © 2011-2022 走看看