给自定义控件.ascx文件传参数并传值 ,让你定义的控件可用性更大 【原创】给自定义控件.ascx文件传参数并传值 ,让你定义的控件可用性更大

















【原创】给自定义控件.ascx文件传参数并传值 ,让你定义的控件可用性更大

【原创】给自定义控件.ascx文件传参数并传值 ,让你定义的控件可用性更大

在网上查找了半天,终于还是没有结果 最后看到一个人发的代码才激发了点灵感
在控件.ascx.cs声明控件属性
          private int _ClassID = 0;
          public int ClassID
          {
              get { return _ClassID; }
              set { _ClassID= value; }
          }
在aspx页面 <uc1:TC ID="TID" runat="server" ClassID="100" />这样可以给想要传参数的控件传参数传值,

在aspx页面
<uc1:UC_UserClass id="UC_UserClass1" runat="server"></uc1:UC_UserClass>

后台.aspx.cs代码 
protected UC_UserClass UC_UserClass1; 
这句是重点,默认我们在添加的时候是不会添加的, 
在VS2005里很好用但是在VS2003里面就麻烦了,要自己手动来添加,而且变量名要跟前面页面中一样
以前用的VS2005开发一点问题都没有,现在再回头用了VS2003感觉很郁闷

好不容易才搞定 朋友们可以试一下哦。
if(!Page.IsPostBack) 

UC_UserClass1.ClassID=123456789; //你想传的值

//这样就可以给他传值了 
//下面还可以获得自定义控件上的控件 
DropDownList drp1=UC_UserClass1.FindControl("drp1") as DropDownList;
当然除了传值还可以调用里面的public方法和public函数

解决了问题感觉好轻松啊!

 if (Parameter == "Update")
                    { 
                        //cc.Controls.Add(pageLoad.LoadControl("./ShopDetail/test1.ascx"));
                        UserControl myControl = (UserControl)pageLoad.LoadControl("./ShopDetail/ShopInfo.ascx");


                    if (myControl != null)
                    {
                        TextBox Mark = myControl.FindControl("txtOPMark") as TextBox;
                        Mark.Text = "Update";   
                    }


                    cc.Controls.Add(myControl); 
                    
                    }
                    else
                    {
                        cc.Controls.Add(pageLoad.LoadControl("./ShopDetail/ShopInfo.ascx"));
                    }
                    TabControl.Controls.Add(cc);
                    break;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值