zoukankan      html  css  js  c++  java
  • UserControl 用户定义组件

    <pages>
          <namespaces>
            <add namespace="System.Web.Optimization" />
          </namespaces>
          <controls>
            <add tagPrefix="uc1" src="~/Controls/bt.ascx" tagName="bt" />
          </controls>
        </pages>
    <%@ Register Src="~/Controls/bt.ascx" TagName="bt" TagPrefix="uc1" %>
    
            <uc2:index_lovexin12 ID="index_lovexin121" runat="server" />

    只知道用户控件是如何引入进来的<%@ Register ...%><uc1: ......> 。但不知道它是如何运行,如何被解析的。

    在.aspx页面上这样做是正确的。但你在代码中拼出来<uc1:...>就不对了。为什么?你在后台拼出来渲染到页面上的时候,html页面中只是显示字符串"<uc1:...>"而矣。最终并未被asp.net解析(也就是并未生成用户控件中的内容)。所以你什么也没有看到。正确的做法是动态加载用户控件。你可以在目标位置放置一个容器控件如PlaceHolder,可以使用UserControl uc=Page.LoadControl("XX.ascx"); 来生成一个用户控件的实例,然后再作为子控件加入到容器控件中 ,完整的代码类似:
    //假设页面上放置的容器控件PlaceHolder的控件ID为pl
    UserControl uc;
    if (Reqest["id"]=="1") {
          uc=Page.LoadControl("1.ascx");    
    }else if  (Request["id"]=="2") {
         uc=Page.LoadControl("2.ascx");
    }
    //添加到容器控件
    pl.Add(uc);

    Controls_news news = LoadControl("/Controls/news.ascx") as Controls_news;
                news.loadlist(sender, e);
                news.ID = "News1";
                div01.Controls.Clear();
                div01.Controls.Add(news);

     传参

    ascx.cs
    private string _abc;
        public string abc
        {
            get { return _abc; }
            set { _abc = value; }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            Button1.Text = abc;
        }
    
    
    
       调用页     <uc1:bt ID="Bt1" abc="sdfdesfg" runat="server" />
    动态传参 <uc1:bt ID="Bt1" abc='<%#Eval("Id") %>' runat="server" />


    abc='<%#Eval("Id") %>'要用单引号
  • 相关阅读:
    Paypal开源nodejs框架研究(一)KrakenJs
    CoffeeScript 陷阱
    nodejs express route 的用法
    Moogoose实践之:Schema写全很重要,不然会把时间浪费在调错上!
    微软新一代输入法框架 TSF
    VC++在Win7和Win8系统下获得百度输入法的名字
    两款MongoDB的可视化管理工具
    网易开源游戏服务器框架-Pomelo实践(一)
    WinDbg之Page Heap实践
    MongoDB 备份与恢复的实践
  • 原文地址:https://www.cnblogs.com/spider024/p/3143920.html
Copyright © 2011-2022 走看看