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.首先导入 ...
随机推荐
- 【笔记】如何查看HTTP请求头&&【实验吧】天下武功唯快不破
打开Chrome浏览器,点击右上角“三”按钮. 点击工具-----再点击开发者工具 找到Network选项框.以百度经验页面为例,点击任务选框来查看网络请求流 在Network框内会有所有的请 ...
- jvm系列(十):如何优化Java GC「译」
本文由CrowHawk翻译,是Java GC调优的经典佳作. 本文翻译自Sangmin Lee发表在Cubrid上的"Become a Java GC Expert"系列文章的第三 ...
- Working with Python subprocess - Shells, Processes, Streams, Pipes, Redirects
Posted: 2009-04-28 15:20 Tags: Python Note Much of the "What Happens When you Execute a Command ...
- js 浏览器上调试方法多样
1.alert(111) 直接打印出 111 2.debugger 写在代码要调试的地方 3.直接在控制台 source 里找到要调试的代码打断点 4.console 常用的 ...
- python装饰器 & flask 通过装饰器 实现 单点登录验证
首先介绍装饰器,以下是一段标注了特殊输出的代码.用于帮助理解装饰器的调用过程. import time def Decorator_one(arg1): info = "\033[1;31; ...
- 细品 - 逻辑回归(LR)
1. LR的直观表述 1.1 直观表述 今天我们来深入了解一个人见人爱,花见花开,工业界为之疯狂,学术界..额,好像学术界用的不多哎.不过没关系,就算学术界用的不多也遮不住它NB的光芒,它就是LR模型 ...
- JavaScript对象之关联数组
Tip: 内容摘抄自<JavaScript权威指南>,看过该书的同学可以忽略本文. 存取一个对象的属性的方式: obj.attr; obj["attr"]; 两者最重要 ...
- MySQL基础函数
MySQL数据库提供了很多函数包括: 数学函数: 字符串函数: 日期和时间函数: 条件判断函数: 系统信息函数: 加密函数: 格式化函数: 一.数学函数 数学函数主要用于处理数字,包括整型.浮点数等. ...
- 修改Oracle【12C】字符集
select userenv('language') from dual; //查看系统字符集编码 select * from nls_database_parameters where parame ...
- javascript 之异常处理try catch finally--05
语法结构 try catch finally是ECMAScript-262 第三版提供异常处理机制的标准,语法结构如下: try{ //可能会发生的错误代码 } catch(error){ //错误处 ...