ASP.Net Controls 用法大全
<form id="Form1" method="post" runat="server"> <asp:TextBox id="TextBox1" runat="server"></asp:TextBox> <asp:Button id="Button1" runat="server" Text="Button"></asp:Button></form>
private void Button1_Click(object sender, System.EventArgs e){ TextBox b = Page.FindControl("TextBox1") as TextBox; if(b != null) { Response.Write("Found TextBox1 on Button1_Click<br>"); } }
<form id="Form1" method="post" runat="server"> <asp:Panel id="Panel1" runat="server" Height="152px"> Panel <asp:TextBox id="TextBox1" runat="server"></asp:TextBox> <asp:Button id="Button1" runat="server" Text="Button"></asp:Button> </asp:Panel></form>

<div id="Panel1" style="height:152px;"> Panel <input name="TextBox1" type="text" id="TextBox1" /> <input type="submit" name="Button1" value="Button" id="Button1" /></div>
FindControl in a DataGrid
<form id="Form1" method="post" runat="server"> <asp:DataGrid id=DataGrid1 runat="server" DataSource="<%# employees1 %>" AutoGenerateColumns="False" OnSelectedIndexChanged="DataGrid1_SelectedIndexChanged" OnEditCommand="DataGrid1_EditCommand"> <Columns> <asp:BoundColumn DataField="emp_id" SortExpression="emp_id" HeaderText="emp_id"/> <asp:BoundColumn DataField="fname" SortExpression="fname" HeaderText="fname"/> <asp:BoundColumn DataField="lname" SortExpression="lname" HeaderText="lname"/> <asp:TemplateColumn> <ItemTemplate> <asp:TextBox Runat="server" ID="TextBox1" /> </ItemTemplate> </asp:TemplateColumn> <asp:ButtonColumn Text="Select" CommandName="Select"></asp:ButtonColumn> <asp:EditCommandColumn ButtonType="LinkButton" UpdateText="Update" CancelText="Cancel" EditText="Edit"> </asp:EditCommandColumn> </Columns> </asp:DataGrid></form>
<table cellspacing="0" rules="all" border="1" id="DataGrid1"> <tr> <td>emp_id</td><td>fname</td><td>lname</td><td> </td><td> </td><td> </td> </tr> <tr> <td>A-C71970F</td><td>Aria</td><td>Cruz</td><td> <input name="DataGrid1:_ctl2:TextBox1" type="text" id="DataGrid1__ctl2_TextBox1" /> </td><td> </tr> <tr> <td>A-R89858F</td><td>Annette</td><td>Roulet</td><td> <input name="DataGrid1:_ctl3:TextBox1" type="text" id="DataGrid1__ctl3_TextBox1" /> </td><td> </tr>
Control c = Page.FindControl(“TextBox1”)
private void DataGrid1_SelectedIndexChanged(object sender, System.EventArgs e){ TextBox b; b = DataGrid1.Items[DataGrid1.SelectedIndex].FindControl("TextBox1") as TextBox; if(b != null) { Response.Write("Sender = " + sender.GetType().ToString() + "<br>"); Response.Write("Found Textbox1 in SelectedIndexChanged event<br>"); Response.Write(FindUtil.DumpParent(b)); }}

public class FindUtil{ public static string DumpParents(Control c) { StringBuilder sb = new StringBuilder(); sb.Append(c.ID + " (" + c.GetType().ToString() + ")"); while(c.Parent != null) { c = c.Parent; sb.Append(" -><br>"); sb.Append(c.ID + " (" + c.GetType().ToString() + ")"); } return sb.ToString(); }}
protected void DataGrid1_EditCommand(object source, DataGridCommandEventArgs e){ TextBox b; b = e.Item.FindControl("TextBox1") as TextBox; if(b != null) { Response.Write("Found Textbox1 in EditCommand event<br>"); } }
Finding Controls In Headers and Footers
<asp:DataGrid id=DataGrid1 runat="server" DataSource="<%# employees1 %>" AutoGenerateColumns="False" ShowFooter="True"> <Columns> <asp:BoundColumn DataField="emp_id" SortExpression="emp_id" HeaderText="emp_id"/> <asp:BoundColumn DataField="fname" SortExpression="fname" HeaderText="fname"/> <asp:BoundColumn DataField="lname" SortExpression="lname" HeaderText="lname"/> <asp:TemplateColumn> <HeaderTemplate> <asp:DropDownList Runat="server" ID="DropDownList1"> <asp:ListItem Value="1">One</asp:ListItem> <asp:ListItem Value="2">Two</asp:ListItem> <asp:ListItem Value="3">Three</asp:ListItem> </asp:DropDownList> </HeaderTemplate> <ItemTemplate> <asp:TextBox Runat="server" ID="TextBox1" /> </ItemTemplate> <FooterTemplate> <asp:DropDownList Runat="server" ID="Dropdownlist1"> <asp:ListItem Value="1">One</asp:ListItem> <asp:ListItem Value="2">Two</asp:ListItem> <asp:ListItem Value="3">Three</asp:ListItem> </asp:DropDownList> </FooterTemplate> </asp:TemplateColumn> <asp:ButtonColumn Text="Select" CommandName="Select"></asp:ButtonColumn> </Columns></asp:DataGrid>
private void DataGrid1_SelectedIndexChanged(object sender, System.EventArgs e){ DropDownList d; d = DataGrid1.Controls[0].Controls[0].FindControl("DropDownList1") as DropDownList; if(d != null) { Response.Write("Found header DropDownList1 in SelectedIndexChanged event<br>"); } int footerIndex = DataGrid1.Controls[0].Controls.Count-1; d = DataGrid1.Controls[0].Controls[footerIndex].FindControl("DropDownList1") as DropDownList; if(d != null) { Response.Write("Found footer DropDownList1 in SelectedIndexChanged event<br>"); Response.Write(FindUtil.DumpParents(d)); }}

FindControl in Repeater controls
<asp:Repeater id="Repeater1" runat="server"> <ItemTemplate> <tr> <td><%#DataBinder.Eval(Container.DataItem, "au_id")%></td> <td><%#DataBinder.Eval(Container.DataItem, "au_lname")%></td> <td><%#DataBinder.Eval(Container.DataItem, "au_fname")%></td> <td><asp:TextBox Runat="server" ID="TextBox1" /></td> <td><asp:Button Runat="server" ID="Button1" OnClick="Button1_Click" Text="Click" /></td> </tr> </ItemTemplate></asp:Repeater>
protected void Button1_Click(object sender, System.EventArgs e){ Button btn = sender as Button; TextBox tb = btn.Parent.FindControl("TextBox1") as TextBox; if(tb != null) { Response.Write("Found TextBox1 in Button1_Click event<br>"); Response.Write(FindUtil.DumpParents(tb)); }}

private void Button2_Click(object sender, System.EventArgs e){ foreach(RepeaterItem item in Repeater1.Items) { TextBox b = item.FindControl("TextBox1") as TextBox; Response.Write(b.Text + "<br>"); }}
User Controls
<%@ Control Language="c#" AutoEventWireup="false" Codebehind="MyUserControl.ascx.cs" Inherits="aspnet.FindControls.MyUserControl" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%><asp:TextBox id="TextBox1" runat="server"></asp:TextBox><asp:Button id="Button1" runat="server" Text="Button"></asp:Button>
<input name="MyUserControl1:TextBox1" type="text" id="MyUserControl1_TextBox1" /> <input type="submit" name="MyUserControl1:Button1" value="Button" id="MyUserControl1_Button1" />
private void Button1_Click(object sender, System.EventArgs e){ TextBox b = this.FindControl("TextBox1") as TextBox; if(b != null) { Response.Write("Found TextBox1 on User Control Button1_Click<br>"); } }
private void Page_Load(object sender, System.EventArgs e){ MyUserControl u = FindControl("MyUserControl1") as MyUserControl; TextBox b = u.FindControl("TextBox1") as TextBox; if(b != null) { Response.Write("Found TextBox1 on Page_Load<br>"); } }
Conclusion
ASP.Net Controls 用法大全的更多相关文章
- MVC5 + EF6 + Bootstrap3 (9) HtmlHelper用法大全(下)
文章来源:Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc5-ef6-bs3-get-started-httphelper-part2.html 上一节 ...
- MVC5 + EF6 + Bootstrap3 (8) HtmlHelper用法大全(上)
文章来源:Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc5-ef6-bs3-get-started-httphelper-part1.html 上一节 ...
- asp.net 操作Excel大全
asp.net 操作Excel大全 转:http://www.cnblogs.com/zhangchenliang/archive/2011/07/21/2112430.html 我们在做excel资 ...
- MVC HtmlHelper用法大全
MVC HtmlHelper用法大全HtmlHelper用来在视图中呈现 HTML 控件.以下列表显示了当前可用的一些 HTML 帮助器. 本主题演示所列出的带有星号 (*) 的帮助器. ·Actio ...
- C# MessageBox 用法大全(转)
C# MessageBox 用法大全 http://www.cnblogs.com/Tammie/archive/2011/08/05/2128623.html 我们在程序中经常会用到MessageB ...
- MVC中HtmlHelper用法大全参考
MVC中HtmlHelper用法大全参考 解析MVC中HtmlHelper控件7个大类中各个控件的主要使用方法(1) 2012-02-27 16:25 HtmlHelper类在命令System.Web ...
- pandas用法大全
pandas用法大全 一.生成数据表 1.首先导入pandas库,一般都会用到numpy库,所以我们先导入备用: import numpy as np import pandas as pd12 2. ...
- 转帖: 一份超全超详细的 ADB 用法大全
增加一句 连接 网易mumu模拟器的方法 adb connect 127.0.0.1:7555 一份超全超详细的 ADB 用法大全 2016年08月28日 10:49:41 阅读数:35890 原文 ...
- python之pandas用法大全
python之pandas用法大全 更新时间:2018年03月13日 15:02:28 投稿:wdc 我要评论 本文讲解了python的pandas基本用法,大家可以参考下 一.生成数据表1.首先导入 ...
随机推荐
- SQL Server Compact/SQLite Toolbox 使用
最近一个嵌入式的数据库用的SqlCe 需要导入到Sqlite, 网上查到了这个工具--SQL Server Compact/SQLite Toolbox.但是在使用的时候遇到了一点小曲折,记录下来给需 ...
- Apache ab测试工具使用方法(无参、get传参、post传参)
Ab测试工具是apache自带的测试工具,具有简单易上手的特性,下面我总结一下我的使用方法,首先去官方下载apache程序包,我下的最新版本apache2.4.23,下载地址http://httpd. ...
- 从 JavaScript 到 TypeScript 系列
随着应用的庞大,项目中 JavaScript 的代码也会越来越臃肿,这时候许多 JavaScript 的语言弊端就会愈发明显,而 TypeScript 的出现,就是着力于解决 JavaScript 语 ...
- SQL server学习(五)——T-SQL编程之存储过程
周五了,祝大家周末愉快. 之前一直在写SQL server的分享,今天再来个T-SQL编程中的存储过程. 存储过程 存储过程(procedure)类似于C语言中的函数,用来执行管理任务或应用复杂的业务 ...
- PPLB条码打印
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- 博客发在win10.me
看到了http://www.win10.me/?page_id=58 说可以把自己的文章投给win10.me 我试试 抱着没有的心态 居然可以 我联系九幽,和他们说我写了很多博客,质量不好,他们说好 ...
- Android基础知识04—Activity活动之间传递数据
------活动之间传递数据------ 向下一个活动传递数据: Intent中提供了一系列的putExtra()方法,可以把数据暂存到Intent中,启动另一个活动的时候就可以取出来. 代码: (存 ...
- redis3.2新功能--GEO地理位置命令介绍
概述 redis3.2发布rc版本已经有一段时间了,估计RedisConf 2016左右,3.2版本就能release了.3.2版本中增加的最大功能就是对GEO(地理位置)的支持.说起redis的GE ...
- 【微信小程序开发】秒懂,架构及框架
今天1024程序员节,写文章庆祝!!! 今天的文章是讲微信小程序开发的,按理解把架构与框架说说.有不对之处请大神指点…… 微信小程序与web应用很像,但是原理不同,微信小程序是运行在微信应用内的,不是 ...
- chromium 34以后中文字体粗体渲染问题
估计不少人更新后都遇到这个情况了吧,粗体渲染如然变得很模糊,很奇怪,Google下说是字体实现方式变了,国内一些网站用的中文字体都是宋体,但是宋体本身没有粗体,Win下的粗体是微软自己通过某种方式实现 ...