激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - 關于兩個自定義控件的取值問題及接口的應用

關于兩個自定義控件的取值問題及接口的應用

2019-10-21 10:54asp.net教程網 ASP.NET教程

一個.aspx的頁面中,用到了兩個用戶控件,其中想做的到A控件有一個按鈕,點擊的時候獲取到B控件中的一個textbox的值想必大家會使用findcontrol獲取控件吧,而在生成的時候名字是不確定的,那么如何書寫呢?接下來為您提供詳細的

“一個.aspx的頁面中,用到了兩個用戶控件,其中想做的到A控件有一個按鈕,點擊的時候獲取到B控件中的一個textbox的值。 

因為在生成的時候名字會改變,用findcontrol的時候名字該如何寫呢? 
另外像這種問題有幾種解決的辦法呢?”

論壇上看到這個問題,Insus.NET提供自己的解決方法,先看看解決運行的效果: 
關于兩個自定義控件的取值問題及接口的應用 
首先創建一個站點,然后創建兩個用戶控件,一個是UcA,一個是UcB。 在UcB的控件上拉一個TextBox。 

復制代碼代碼如下:


<%@ Control Language="C#" AutoEventWireup="true" CodeFile="UcB.ascx.cs" Inherits="UcB" %> 
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 


創建一個接口IGetValue: 

復制代碼代碼如下:


IGetValue.cs 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
/// <summary> 
/// Summary description for IGetValue 
/// </summary> 
namespace Insus.NET 

public interface IGetValue 

string GetValue(); 


接下來,用戶控件UcB實現這個接口,接口返回TextBox的Text值。 

復制代碼代碼如下:


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 UcB : System.Web.UI.UserControl,IGetValue 

protected void Page_Load(object sender, EventArgs e) 


public string GetValue() 

return this.TextBox1.Text.Trim(); 


創建一個aspx頁面,如Default.aspx,切換至設計模式,把兩個用戶控件UcA,UcB拉至Default.aspx: 

復制代碼代碼如下:


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 
<%@ Register Src="UcA.ascx" TagName="UcA" TagPrefix="uc1" %> 
<%@ Register Src="UcB.ascx" TagName="UcB" TagPrefix="uc2" %> 
<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
<title></title> 
</head> 
<body> 
<form id="form1" runat="server"> 
<fieldset> 
<legend>UcA 
</legend> 
<uc1:UcA ID="UcA1" runat="server" /> 
</fieldset> 
<fieldset> 
<legend>UcB 
</legend> 
<uc2:UcB ID="UcB1" runat="server" /> 
</fieldset> 
</form> 
</body> 
</html> 


到這里,再創建一個接口Interface,目的是為了獲取UcB這個用戶控件。 

復制代碼代碼如下:


IGetUserControl.cs 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
/// <summary> 
/// Summary description for IGetUserControl 
/// </summary> 
namespace Insus.NET 

public interface IGetUserControl 

UserControl GetUc(); 


接口創建好之后,在Default.aspx.cs實現這個IGetUserControl接口。 

復制代碼代碼如下:


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,IGetUserControl 

protected void Page_Load(object sender, EventArgs e) 


public UserControl GetUc() 

return this.UcB1; 


到最后,我們在UcA這個用戶控件的按鈕Click事件寫: 

復制代碼代碼如下:


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 

protected void Page_Load(object sender, EventArgs e) 


protected void Button1_Click(object sender, EventArgs e) 

IGetUserControl ucb = (IGetUserControl)this.Page; 
IGetValue value = (IGetValue)ucb.GetUc(); 
Response.Write("<scr" + "ipt>alert('" + value.GetValue() + "')</scr" + "ipt>"); 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 免费看一级毛片欧美 | 久久99国产精品二区护士 | 成人在线视频免费 | 国内精品免费一区二区2001 | 一级免费黄色 | 欧美一级黄视频 | 午夜精品福利视频 | 国产免费传媒av片在线 | 国产激爽大片在线播放 | 日韩精品久久久久久久电影99爱 | 91视频久久| 久久激情小视频 | 1级片在线观看 | 日韩在线观看视频一区二区三区 | 草久在线 | 久久精品国产99国产精品澳门 | 久草免费新视频 | 欧美h版电影在线观看 | 成人免费电影在线观看 | 欧洲精品久久久久69精品 | 亚洲一级电影在线观看 | 国产亚洲精品久久久久久久软件 | 91成人影库| 国产精品美女久久久免费 | 成人毛片100部 | 亚久久 | 国产麻豆交换夫妇 | 黄色小视频免费在线观看 | 精品久久久久久中文字幕 | 免费在线观看国产精品 | 欧美精品久久久久久久多人混战 | 蜜桃一本色道久久综合亚洲精品冫 | 久久久www成人免费精品 | 欧美日韩大片在线观看 | 欧美国产日韩在线观看成人 | 国产99视频精品免视看9 | 成年片在线观看 | 久色porn| 九九热在线视频观看 | 日韩不卡一区二区 | 久久精品黄|