在开发Asp.net时,我们会经常有应用MasterPage或是WebUserControl。这样会遇上一个问题,需要在aspx去找MasterPage或是WebUserControl内的对象,或是从aspx传值给它们。比如一个WebUserControl被aspx调用之后,它产生的ID会随着aspx的环境而变化,而不是一成不变的,因为假如使用FindControl()寻找的话,当ID发生变化,在aspx 运行时会发生异常。下面就以一个WebUserControl来演示。

这个WebUserControl会放一个CheckBoxList控件,当这个WebUserControl拉到aspx页面去时,在asps.cs给这个WebUserControl内的CheckBoxList控件绑定数据源。

写一个接口类别IGetable:

IGetable

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI.WebControls;

/// <summary>
/// Summary description for IGetable
/// </summary>
namespace Insus.NET
{
    public interface IGetable
    {
        CheckBoxList GetControl();
    }
}

WebUserControl实作上面这个接口:

InsusUc

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 InsusUc : System.Web.UI.UserControl,IGetable
{
    protected void Page_Load(object sender, EventArgs e)
    {

}

public CheckBoxList GetControl()
    {
        return this.CheckBoxList1;
    }
}

最后是页面aspx.cs为WebUserControl的CheckBoxList控件赋值:

View Code

 private void Data_Binding()
    {
        CheckBoxList cbl = ((IGetable)this.InsusUc1).GetControl();
        cbl.DataSource = ProductCode;
        cbl.DataTextField = "value";
        cbl.DataValueField = "key";
        cbl.DataBind();
    }

程序运行时的效果:

源程序下载:
地址:http://download.cnblogs.com/insus/ASPDOTNET/InterfaceDemo.rar

在Asp.net网页中使用接口相关推荐

  1. 在 ASP.NET 网页中不经过回发而实现客户端回调

    一.使用回调函数的好处 在 ASP.NET 网页的默认模型中,用户会与页交互,单击按钮或执行导致回发的一些其他操作.此时将重新创建页及其控件,并在服务器上运行页代码,且新版本的页被呈现到浏览器.但是, ...

  2. ASP.NET 网页中的跨页发送PreviousPage

    默认情况下,在 ASP.NET 网页中引起回发的按钮和其他控件将页提交回该页本身.这是 ASP.NET 网页在其正常的处理过程中所要经历的往返周期的一部分.在某些情况下,可能需要将一个页发送到其他页. ...

  3. 怎么在ASP.NET中写HTML,如何:在 ASP.NET 网页中设置控件的 HTML 属性

    如何:在 ASP.NET 网页中设置控件的 HTML 属性 10/22/2014 本文内容 更新:2007 年 11 月 这些示例显示如何向页面中的元素添加 HTML 属性.第一个示例演示如何以声明方 ...

  4. ASP.NET网页中RAR、DOC、PDF等文件下载功能实例源代码

    以前做asp.net下载功能的时候都是采用: <a href="http://www.wang0214.com/wgcms">下载</a> 的方式来实现下载 ...

  5. 【C#】ASP.NET网页中添加单点登录功能

    背景 首先,要说明的是,原先需求定义的是,同一个账号只能同时有一个人来登录,如果另外一个登录的话,前一个登陆者就自动被踢掉.本来原先要做成存储到服务器的数据库中,但是后来如果是非正常退出的话 下次就没 ...

  6. asp.net网页中导出EXCEL,WORD的环境设置验证实例

    最近公司的业务服务器需要配置导出EXCEL,WORD的环境.程序是由其它公司开发的,这个环境的配置真的不好弄.会出现类似 检索 COM 类工厂中 CLSID 为{00024500-0000-0000- ...

  7. ASP 在网页中 打开PDF文件

    发送URL: if (File.Exists(p_strUrl))             {  //Server.UrlEncode(path)                 this.Page. ...

  8. razor html帮助器,在 ASP.NET 网页(Razor)网站中创建和使用帮助器 | Microsoft Docs

    在 ASP.NET 网页(Razor)网站中创建和使用 Helper 02/17/2014 本文内容 本文介绍如何在 ASP.NET 网页(Razor)网站中创建帮助程序. 帮助器是一种可重用的组件, ...

  9. ASP.NET 网页之间传递值

    如果您的应用程序从一个 ASP.NET 网页重定向(导航)到另一个 ASP.NET 网页,您经常希望将信息从源页传递到目标页.例如,您可能具有一个页面,用户可以从中选择要购买的商品.当用户提交该页时, ...

最新文章

  1. C语言网络编程:TCP客户端实现
  2. 第十三届光华工程科技奖公布,彭士禄、张伯礼、王海峰等40人及1个团体获奖
  3. webDriver测试百度登录java版
  4. 机器学习(MACHINE LEARNING) 【周志华版-”西瓜书“-笔记】 DAY16-强化学习
  5. ai作文批改_全球第一份机器人批改的作文 阿里AI批改中文试卷
  6. C/C++头文件区别
  7. 开放下载! | 《AI时代下的汽车业数字化变革》
  8. 在Java语言里 ==和equals的区别
  9. Java ByteArrayInputStream markSupported()方法与示例
  10. Spark调优 数据本地化调优
  11. rsyslog-mysql_04-Log rsyslog-mysql loganalyzer
  12. 给android应用程序系统的签名
  13. HDOJ 2147 HDU 2147 kiki's game ACM 2147 IN HDU
  14. Atitit 开发效率的提升艺术 艾提拉著 目录 1. 主要几个层次上简化开发 2 1.1. 管理创新 2 1.2. 开发体系方法使用简单方法 2 1.3. 技术选型使用简单框架模式 2 1.4.
  15. 转载:矩阵L2,1范数及矩阵L2,p范数的求导
  16. [转]performSelector延时调用导致的内存泄露
  17. 大数据分析技术应用领域有哪些
  18. python爬取腾讯新闻统计数据——新型冠状病毒引发肺炎实况(selenium实现)
  19. 使用Certbot为nginx配置免费的https证书
  20. ipad iphone开发_如何从iPhone或iPad连接到Windows远程桌面

热门文章

  1. 《Python Cookbook 3rd》笔记(5.18):将文件描述符包装成文件对象
  2. STL源码剖析 hashtable
  3. PaddleOCR和ChineseOCR的对比
  4. 学习方法书籍 很好推荐
  5. 山寨版项目管理经验小结
  6. “javax.servlet.http.HttpServlet“ 错误
  7. SpringBoot 之环境搭建
  8. pyqt5 + pyinstaller 制作爬虫小程序
  9. 转载 Spark性能优化指南——基础篇
  10. LinkedList类源码浅析(二)