用户控件如何控制ASPX页面的控件

本文介绍了一种通过用户控件的按钮实现ASP.NET中ASPX页面控件显示与隐藏的方法。利用接口ISwitchable定义控件状态切换逻辑,通过按钮点击事件改变控件可见性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题来自论坛 http://topic.youkuaiyun.com/u/20120415/17/3f264265-b25c-4db8-a192-520e8a60e4c1.html?85396

 

 问题分析,aspx页面的控件需要控制显示与否,就如同象是一个小电灯,为了不让它通电之后常亮。因此需要一个开关才能控制到它。什么样的开关它管不了那么多,只要能控制开与关功能即可。

用户控件的Button,它可以实现开关功能。它可以控制电器的电路开与关。

接下来,两个电器是不同的对象,怎样让它们连接在一起。在程序中,可以使用Interface(接口)来实现。我们可以写一个叫开关接口ISwitchable。 

ExpandedBlockStart.gif ISwitchable
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

///   <summary>
///  Summary description for ISwitchable
///   </summary>
namespace Insus.NET
{
     public  interface ISwitchable
    {
         void Switch( bool show);
    }
}

  

是什么物件需要控制,也就是说什么电器需要安装开关,这里是aspx的控件需要控制显示与否。因此aspx.cs实现这个接口。 

ExpandedBlockStart.gif View Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Insus.NET;

public  partial  class _Default : System.Web.UI.Page,ISwitchable 
{
     protected  void Page_Load( object sender, EventArgs e)
    {
       
          
    }

     public  void Switch( bool show)
    {
         this.TextBox1.Visible = show;
    }
}

 

接下来,用户控件实现代码:

ExpandedBlockStart.gif View Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Insus.NET;

public  partial  class InsusWebUserControl : System.Web.UI.UserControl
{
     protected  void Page_Load( object sender, EventArgs e)
    {

    }
     protected  void Button1_Click( object sender, EventArgs e)
    {
        Button btn = (Button)sender;
        ISwitchable sw = (ISwitchable) this.Page;

         switch (btn.Text)
        {
             case  " ":
                btn.Text =  " ";
                sw.Switch( true);
                 break;
             case  " ":
                btn.Text =  " ";
                sw.Switch( false);
                 break;
        }
    }
}

 

运行效果:

 

 

源程序(.NET3.5 + ASP.NET + C#):

http://download.cnblogs.com/insus/ASPDOTNET/uc_ctrl_ctrlOfpage.zip

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值