在Asp.net网页中使用接口

在开发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:

ExpandedBlockStart.gifIGetable
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实作上面这个接口:

ExpandedBlockStart.gifInsusUc
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控件赋值:

ExpandedBlockStart.gifView 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

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/464862.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

xss绕过尖括号和双括号_xss挑战平台练习

-------------------------XSS挑战之旅-------------------------最近在学习xss&#xff0c;找到了一个xss练习平台&#xff0c;在线地址&#xff1a;http://test.xss.tv/实验环境也可以本地搭建&#xff0c;不过需要phpmysql的环境&#xff1a;xss通关小游戏&#xff1a;https…

18.设计模式

单例模式 保证类在内存中只有一个对象使用原则 私有构造方法(不让其它类来创建本类对象) 在本类中创建一个本类对象或向外提供一个创建本类对象的共有方法编码方式 饿汉模式 class Singleton { //1,私有构造函数 private Singleton(){} //2,创建本类对象 private static Single…

上世纪八九十年代的收录放音机拆解

头条看到刘工发的收录放音机美图&#xff0c;发上来大家回忆下&#xff0c;大家跟这些老古董有什么故事&#xff1f;推荐阅读&#xff1a;专辑|Linux文章汇总专辑|程序人生专辑|C语言我的知识小密圈关注公众号&#xff0c;后台回复「1024」获取学习资料网盘链接。欢迎点赞&…

String in Java

转载于:https://www.cnblogs.com/ywxt/p/java_string.html

mysql性能测试

1.测试环境 服务器:CPU:2GHZ,内存:4G,物理机系统:centos 5 32位网络:100Mbps 局域网客户端:CPU:2GHZ,内存:4G系统:centos 5 32位数据量:1000万条记录mysql版本:5.1.51-log测试方法:把mysql挂到DNS软件后面&#xff0c;用bind的测试工具querypref测试测试时&#xff0c;启动五个…

dfs hdfs 修改文件名称_CDH6.3.2生产更换HDFS 数据目录

事情是这样的&#xff0c;楼主刚入职一家新公司&#xff0c;刚开始搭建的集群时ecs只有一个系统盘&#xff0c;集群安装完成运行几天后&#xff0c;分分钟就要爆了&#xff0c;于是申请增加磁盘&#xff0c;就有了下面的操作&#xff0c;生怕操作失误&#xff0c;集群挂了&…

在知乎上泡了这么久,工作、工资、生活还是没有起色是什么原因?

陆游同学在八百多年前就回答了这个问题&#xff1a;纸上觉来终觉浅&#xff0c;绝知此事要躬行。重新解读一遍题主的问题&#xff0c;题主其实想表达的是&#xff1a;泡知乎这么久了生活都没有起色&#xff0c;我TM这么辛苦虔诚地天天泡知乎有毛用&#xff1f;而我们都知道人生…

c++thread里暂停线程_多线程技术

1.程序程序(Program)”是一个静态的概念&#xff0c;一般对应于操作系统中的一个可执行文件&#xff0c;比如&#xff1a;我们要启动酷狗听音乐&#xff0c;则对应酷狗的可执行程序。当我们双击酷狗&#xff0c;则加载程序到内存中&#xff0c;开始执行该程序&#xff0c;于是产…

Cron表达式 详解

Cron表达式是一个字符串&#xff0c;字符串以5或6个空格隔开&#xff0c;分为6或7个域&#xff0c;每一个域代表一个含义&#xff0c;Cron有如下两种语法格式&#xff1a; &#xff08;1&#xff09; 7个域&#xff1a; Seconds Minutes Hours DayofMonth Month DayofWeek Year…

出差CVTE

去CVTE和连总吃饭周一晚上11点&#xff0c;我给我们领导打电话&#xff0c;说有个问题一定要去CVTE。晚上到家的时候是12点多&#xff0c;没洗澡&#xff0c;我跟小云说我早上要6点起来去广州&#xff0c;小云问我说去广州干嘛&#xff0c;我说&#xff0c;去出差解决问题。​然…

html实现 左图右文_让CSS flex布局最后一行左对齐的N种方法

作者&#xff1a;张鑫旭https://www.zhangxinxu.com/wordpress/2019/08/css-flex-last-align/前言小伙伴们是否还记得&#xff0c;之前小编也发布了几篇关于CSS相关文章不妨一起来回顾回顾&#xff1a;《手把手整理CSS3知识汇总【思维导图】》《关于前端CSS写法104个知识点汇总…

数据库SQL ServerSQL Server教程:详细学习游标

游标(Cursor)是处理数据的一种方法&#xff0c;为了查看或者处理结果集中的数据&#xff0c;游标提供了在结果集中一次以行或者多行前进或向后浏览数据的能力。我们可以把游标当作一个指针&#xff0c;它可以指定结果中的任何位置&#xff0c;然后允许用户对指定位置的数据进行…

编码能力被公司破制度给限制了

大家好&#xff0c;我是写代码的篮球今天跟很久前一个同事聊了会天&#xff0c;他和我一样做嵌入式软件开发&#xff0c;聊天中没有什么寒暄和吐槽&#xff0c;或许就是简简单单的知晓了双方的近况便早早结束了。当同事之间没有了太多的交际也就没有那么的话题了吧。不过那时候…

Django (八) 中间件验证码富文本缓存

中间件&验证码&富文本&缓存 1. 中间件&AOP 中间件&#xff1a;是一个轻量级的&#xff0c;底层的插件&#xff0c;可以介入Django的请求和响应过程&#xff08;面向切面编程&#xff09; ​ 中间件的本质就是一个python类 ​ 面向切面编程&#xff08;Aspect O…

定位到元素后获取其属性_Selenium界面自动化测试(4)(Python):元素定位及操作...

在操作Web元素之前&#xff0c;需要先找到该元素&#xff0c;这个查找的过程称之为元素定位。Selenium支持8种元素定位方法&#xff1a;ID&#xff1a;根据元素的id属性值来定位元素。Name&#xff1a;根据元素的name属性值来定位元素。Class Name&#xff1a;根据元素的class属…

数据库定时导出和互备一例

环境&#xff1a;内网中有三台服务器做测试用&#xff0c;两台SUSE LINUX 10 和一台RHEL 5.5&#xff0c;都安装有ORACLE11G 需求&#xff1a;测试环境搭建完毕&#xff0c;因没有外部存储进行统一备份而修改和更新又比较频繁&#xff0c;所以需要在三台服务器间搭建互备以实现…

芯片公司急聘嵌入式软件精英人才

薪酬待遇及联系方式薪酬待遇&#xff1a;40~150万不等&#xff0c;另有股票期权等&#xff0c;待遇丰厚&#xff0c;详细面议工作地点&#xff1a;北京市朝阳区联系人&#xff1a;杨先生微信&#xff1a;MichaelYao7PS&#xff1a;推荐成功入职者有推荐费嵌入式软件工程师岗位职…

Python进程学习笔记-multiprocessing模块

如果你打算编写多进程的服务程序&#xff0c;Unix/Linux无疑是正确的选择。由于Windows没有fork调用&#xff0c;难道在Windows上无法用Python编写多进程的程序&#xff1f; 由于Python是跨平台的&#xff0c;自然也应该提供一个跨平台的多进程支持。multiprocessing模块就是跨…

这一年就要过去

「远方钟声响起&#xff0c;这一年就要过去&#xff0c;快乐时光不停留......」楠哥从幼儿园新学习了一首新年小曲。今年已经是12月份了&#xff0c;2021年就要结束&#xff0c;即将到来的是2022年的新的一年。2021年这一年里非常感谢读者的一路支持&#xff0c;当然这不是一篇…

Android 更改签名

本文来自&#xff1a;安卓航班网 签名和发布应用程序 要想使Android应用程序在真机上运行&#xff0c;需要对apk&#xff08;Android应用程序的执行文件&#xff0c;相当于Symbian程序的sis/sisx或Java ME程序的jar文件&#xff09;文件进行签名。可以通过命令行或ADT…