手机版

关于两个自定义控件的取值问题及接口的应用

时间:2021-10-04 来源:互联网 编辑:宝哥软件园 浏览:

"一个aspx .的页面中,用到了两个用户控件,其中想做的到A控件有一个按钮,点击的时候获取到B控件中的一个文本框的值。因为在生成的时候名字会改变,用findcontrol的时候名字该如何写呢?另外像这种问题有几种解决的办法呢?"论坛上看到这个问题因苏斯。网提供自己的解决方法,先看看解决运行的效果

首先创建一个站点,然后创建两个用户控件,一个是UcA,一个是UcB。在单元控制部件(单元控制块)的控件上拉一个文本框。复制代码代码如下: %@控制语言=' c# ' AutoEventWireup=' true ' CodeFile=' UCb。ascx。cs ' Inherits=' UCb ' % asp3360 textbox ID=' textbox 1 ' runat=' server '/asp3360 textbox创建一个接口IGetValue:复制代码代码如下: IGetValue.cs使用系统;使用系统。集合。通用;使用系统Linq .使用系统Web///摘要////IgetValue的摘要描述////摘要命名空间因苏。NET {公共接口IgetValue { string GetValue();} } 接下来,用户控件单元控制部件(单元控制块)实现这个接口,接口返回文本框的文本值。复制代码代码如下:使用系统;使用系统。集合。通用;使用系统Linq .使用系统网络.使用系统网络。用户界面使用系统。网络控件;使用因苏。NET公共部分类UcB :系统网络。UI.UserControl,iget值{受保护的void Page _ Load(对象发送方,EventArgs(e)} {公共字符串GetVaLue()}返回此文本框1。文字。trim();} } 创建一个aspx页面,如Default.aspx,切换至设计模式,把两个用户控件UcA,UcB拉至Default.aspx:复制代码代码如下: %@页面语言=' c# ' AutoEventWireup=' true ' CodeFile=' Default。aspx。cs ' Inherits=' _ Default ' % @ Register Src=' UCa。ascx '标记名=' UCa '标记前缀=' UC1 ' % % @ Register Src=' UCb。ascx '标记名='UcB '标记前缀='uc2' %!DOCTYPE html html xmlns=' http://www .w3。org/1999/XHTML ' head runat=' server ' title/title/head body表单ID=' form 1 ' runat=' server '字段集legendUcA/legendUcA ID=' UCA 1 ' runat=' server '/字段集字段集legendUcB/legendUcB ID=' UCB 1 ' runat=' server '/字段集/表单/正文/html到这里,再创建一个接口接口,目的是为了获取单元控制部件(单元控制块)这个用户控件。复制代码代码如下使用系统的: IGetUserControl.cs使用系统。集合。通用;使用系统Linq .使用系统网络.使用系统网络。UI///Summary////IGetUserControl的摘要描述////摘要命名空间因苏。NET {公共接口IGetUserControl { user control GetUC();} } 接口创建好之后,在Default.aspx.cs实现这个IGetUserControl接口。复制代码代码如下:使用系统;使用系统。集合。通用;使用系统Linq .使用系统网络.使用系统网络。用户界面使用系统。网络控件;使用因苏。NET公共部分类_默认:系统网络。UI.Page,IGetUserControl {受保护的void Page _ Load(对象发送者,EventArgs e)} {公共用户控件GetUC()}返回此UcB1} }到最后,我们在UcA这个用户控件的按钮点击事件写:复制代码代码如下:使用系统;使用系统。集合。通用;使用系统Linq .使用系统网络.使用系统网络。用户界面使用系统。网络控件;使用因苏。NET公共部分类UcA :系统网络。ui。用户控件{受保护的无效页面_加载(对象发送方,事件参数e)} {受保护的无效按钮1 _ Click(对象发送方,事件参数e){ IGetUserControl UCB=(IGetUserControl)这.页面;IGetValue值=(IGetValue)ucb .getUC();回应。写入(“SCR”“ipt alert(”值getVaLue()' ')/SCR ' ' ipt ');} }

版权声明:关于两个自定义控件的取值问题及接口的应用是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。