第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

同一頁(yè)面一個(gè)用戶控件如何給另一個(gè)用戶控件中的控件賦值

標(biāo)簽:
JavaScript

"A用户控件有一个textbx
B用户控件有若干Checkbox
我要在B中选中若干 点击保存
然后把checkbox的值赋给A中的Textbox"

 问题来自论坛。

 解决此问题,可以首先分析三者的职责,A用户控件,B用户控件以及B用户件的铵钮;如果更细一点来分析,A用户控件里的TextBox控件,此Textbox需要赋值,值从哪里来,它不用知道也无需知道。B用户控件里也有一个CheckBoxList控件,它只有数据,用户选择的值,将给谁,它也不知道,管不了。还有一个B用户控件的铵钮,铵钮将产生Click事件,它只管保存数据,把CheckBoxList选择的值,保存至TextBox。

OK, 由于CheckBoxList和铵钮是同在一个用户控件内,它们之间的关系没有什么问题,可以直接访问。现在关键是怎样在B用户控件,访问到A用户控件的TextBox?

可以这样想。由于A用户控件与B用户控件同拉放在aspx页面,这样它们就是在同一个容器中,可以直接访问。因此,可以创建一个接口,找到A用户控件的函数。

IUserControlable

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;/// <summary>/// Summary description for IUserControlable/// </summary>namespace Insus.NET{    public interface IUserControlable    {        UserControl uc();    }}


然后是.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,IUserControlable{    protected void Page_Load(object sender, EventArgs e)    {           }    public UserControl uc()    {        return this.UcA1;    }}


只要.aspx.cs实现了接口,那我们就可以把它.aspx.cs转为接口类型。

View Code

 IUserControlable uca = (IUserControlable)this.Page;


Ok,现在要考虑到的是TextBox,怎样给它赋值的问题。它只知道需要一个值,值从哪里来,它不管。因此,我们可以创建一个接口,接口有一个方法,这个方法带一个参数,这个参数就TextBox将得到的值。

ISetValueable

using System;using System.Collections.Generic;using System.Linq;using System.Web;/// <summary>/// Summary description for ISetValueable/// </summary>namespace Insus.NET{    public interface ISetValueable    {        void SetValueForTextBoxControl(string value);    }}


由于TextBox控件在A用户控件内,因此A用户控件实现刚才创建的ISetValueable接口。

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 UcA : System.Web.UI.UserControl ,ISetValueable{    protected void Page_Load(object sender, EventArgs e)    {    }    public void SetValueForTextBoxControl(string value)    {        this.TextBox1.Text = value;    }}


由于A用户控件实现了ISetValueable接口,因此也可以把A用户控件转为这个接口类型。

View Code

ISetValueable textbox = (ISetValueable)uca.uc();


我们来看看动画演示:

 

演示程序:

 http://download.cnblogs.com/insus/ASPDOTNET/uc_access_uc.rar

  

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫(xiě)下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消