• 用户控件后台加载


    1 实现功能:多城市项目,某城市上线新功能,另外一部分城市维持老的用户控件,

    2 之前写法是这样,后跟踪发现,北京的仍然走了用户控件的代码,也就是用户控件已经在页面上了,还是要走一遍后台加载一遍的,这一步是浪费的。

    3 解决方法:a 页面改成PlaceHolder,后台动态加载(注意:LoadControl()方法里面的路径写项目实际路径,可能和命名空间不一致)

    b 还有一种讨巧的方法,在用户控件里面page_load判断是北京,this.visible=false,return;即虽然仍走了控件,但是直接就出来了。

      <!-- start-->
    <div id="div_inte"></div>
    <%if (cityName != "北京")
     {%>
    <uc:interested runat="Server" id="ucinterested">
    </uc:interested>
    <% }else{ %>
    <!--#include virtual="/gaa/aa.htm"-->
    <% }%>
    <!-- end-->
     <!-- start-->
                    <div id="InterestedHouse"></div>
                     <%if (cityName != "北京")
                     {%>
                     <asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
                    <% }else{ %>
                    <!--#include virtual="/aa/aa.htm"-->
                    <% }%>
                    <!-- end-->  
    protected UserControl.Detail.housedetail.interested ucinterested=new UserControl.Detail.housedetail.interested (); if (cityName != "北京") { ucinterested = (UserControl.Detail.housedetail.interested)LoadControl("/EsfHouse/UserControl/Detail/interested.ascx"); PlaceHolder1.Controls.Add(ucinterested); ucinterested.projname = ahse.PROJNAME; ucinterested.purpose = ahse.PURPOSE; ucinterested.room = ahse.ROOM.ToString(); ucinterested.district = ahse.DISTRICT; ucinterested.comarea = ahse.COMAREA; ucinterested.houseid = ahse.HOUSEID.ToString(); } else { }
  • 相关阅读:
    在linux上安装docker
    【oracle 补丁分类】
    【识记】 域名备案
    【Mysql】Mysql在大型网站的应用架构演变
    【安全】 各大企业的安全服务内容
    【前端知识网站 】 HTML ,CSS 和 Javascript
    【安全】 xss跨站脚本攻击
    【数据库 工具】
    【安全】渗透测试书单与工具
    【渗透测试 在线资源】
  • 原文地址:https://www.cnblogs.com/judy0605/p/2599695.html
Copyright © 2020-2023  润新知