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

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

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

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

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实现这个接口。

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;
    }
}

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

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

转载于:https://www.cnblogs.com/insus/archive/2012/04/16/2451664.html

用户控件如何控制ASPX页面的控件相关推荐

  1. 从外部的js文件中获取ASPX页面的控件ClientID(get control reference from external javascript)...

    前言 当使用MasterPage.UserControl等容器时,为了避免控件的重复命名,asp.net会自动将容器中的控件生成一个ClientID(Control Tree中的可生成,否则不会生成) ...

  2. aspx 页面,master页面与ascx用户控件传值的问题

    aspx 页面与ascx用户控件传值的问题 1.建立ascx控件 2.给ascx加上属性 3.将控件拖入aspx中 4.在aspx的代码中按控件ID访问属性 如: <uc3:left_Repas ...

  3. 从外部JS文件中获出ASPX页面控件的ClientID

    前言 当使用MasterPage.UserControl等容器时,为了避免控件的重复命名,asp.net会自动将容器中的控件生成一个ClientID(Control Tree中的可生成,否则不会生成) ...

  4. 一步步学习SPD2010--第十四章节--在Web页面使用控件(3)--验证用户数据输入

            通过使用验证控件,你可以验证用户输入到控件的数据.插入的控件可以是HTML标签或者标准ASP.NET控件.         在本次练习中,你创建数据输入表单,并使用RequiredFi ...

  5. aspx隐藏前台控件div_c# – 代码隐藏页面无法“查看”aspx页面中声明的任何项目/控件...

    这是我的Default.aspx页面(删除了不必要的细节): Username Password 这是代码隐藏(删除了不必要的细节): namespace webapp { public partia ...

  6. 巧用Delegate在Silverlight多个页面、控件中传递回调方法

    在论坛中看到经常有人碰到如何在SilverLight多个页面或者控件中传替参数或者值的问题,今天抽空通过Delegate机制实现回调实例方法重设动画参数的DEMO,分享给大家.最终结果如图: 在论坛中 ...

  7. C# 系统应用之使用Pancel控件同一窗体切换页面

    该文章是项目"个人电脑历史记录清除软件"的系列文章.主要讲述如何使用Pancel控件实现类似于360安全卫士的点击图标窗体不变,但页面内容变换的功能及遇到的重叠Panel不能设置V ...

  8. Xamarin自定义布局系列——PivotPage(多页面切换控件)

    原文:Xamarin自定义布局系列--PivotPage(多页面切换控件) PivotPage ---- 多页面切换控件 PivotPage是一个多页面切换控件,类似安卓中的ViewPager和UWP ...

  9. Android Studio 线性布局Linearlayout的控件位置控制l属性Layout_margin失效问题解决

    Android Studio 线性布局Linearlayout的控件位置控制l属性Layout_margin失效问题解决 问题:如layout_marginRight ="50dp" ...

最新文章

  1. Winform/WPF实例中的相互操作
  2. pandas使用dropna函数删除dataframe中所有包含缺失值的数据行(drop rows which contain missing vlaues in dataframe)
  3. apiCloud中图片裁剪模块FNImageClip的使用
  4. 要不要出去找一份实习?
  5. xd可以用ui动效效果吗_通过动画使UI设计栩栩如生:Adobe XD和After Effects
  6. mysql-linux64,Linux64下mysql安装和开辟
  7. 很巧妙的进程防杀方法[秋镇菜原创]
  8. MySql大数据量恢复
  9. Python 爬下的必胜客数据背后,藏着什么样的信息?
  10. matlab练习程序(方框模糊)
  11. c语言程序设计实例220,C语言程序设计实例大全(220个例子)
  12. 查询名字重复但不是相同的人的记录
  13. 签了工作之后才发现,自己太草率了  很长很真实 但会对你有所帮助的
  14. 使用OpenCV,Python和dlib进行眨眼检测
  15. risc-v 编译 linux,RISCV的linux模拟环境搭建整理和总结
  16. golang学习资源
  17. AjaxPro.Net的例子
  18. 计算机启动提示找不到硬盘,开机时硬盘不启动怎么办 找不到硬盘的原因是什么...
  19. 人工智能背后的“人工”: 数据标注时薪缩水一半,欠薪高发
  20. 水卡解码 ,pn532

热门文章

  1. JZOJ 5444. 【NOIP2017提高A组冲刺11.2】救赎
  2. java sql封装,在Java系统中封装SQL语言的处理方法及系统的制作方法
  3. android phonegap 服务器ip配置,android + phoneGap 环境搭建
  4. 科技论文的组织-如何写好科技论文之我见(四)
  5. Gis 热点技术分析
  6. COGS-930-找第k小的数-HNOI2012-主席树
  7. poj2079(一堆点找出最大的三角形)
  8. hdu5399(找规律。。。)
  9. r语言的runmed函数_R实战 第五篇:常用函数的用法
  10. 获取串口设备名称 获取设备管理器里的硬件名称 转