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.首先导入 ...
随机推荐
- Redis缓存项目应用架构设计一
一些项目整理出的项目中引入缓存的架构设计方案,希望能帮助你更好地管理项目缓存,作者水平有限,如有不足还望指点. 一.基础结构介绍 项目中对外提供方法的是CacheProvider和MQProvider ...
- JS类继承常用方式发展史
JS类继承常用方式发展史 涉及知识点 构造函数方式继承 1-继承单个对象 1.1 多步走初始版 1.2 多步走优化版 1.3 Object.create()方式 2-继承多个对象 2.1 遍历 Obj ...
- js-注释代码习惯
功能块代码 /** * xxxx */ 定义的函数或方法 /* xxxx */ 调用了某个函数或方法 // <--xxx
- JS封装运动框架(另一种写法)
function animate(obj, json, interval, sp, fn) { clearInterval(obj.timer); //var k = 0; //var j = 0; ...
- python 设计模式,“多”例模式
版本1:一个账号不能同时是司机乘客. #-*- coding:utf-8 -*- ''' Created on 2016年8月2日 @author: yangfanholiday ''' class ...
- Linux 快捷键汇总(偏基础)
自己最近才搭上Linux末班车,有一种想见恨晚的感觉,完全给你一种快速清爽的感觉! 因为需要,所以学习,记录自己在使用Linux系统上的点滴,偏基础! 1. 打开终端: Ctrl+Alt+T 2. 复 ...
- JSTL标签库的基本教程之核心标签库(一)
JSTL介绍 Java Server Pages Standard Tag Libray(JSTL):JSP标准标签库,它封装了JSP应用的通用核心功能.JSTL支持通用的.结构化的任务,比如迭代,条 ...
- Vue2.0 v-for 中 :key 到底有什么用?
其实不只是vue,react中在执行列表渲染时也会要求给每个组件添加上key这个属性. 要解释key的作用,不得不先介绍一下虚拟DOM的Diff算法了. 我们知道,vue和react都实现了一套虚拟D ...
- Spring IOC(四)总结
目录 1.spring容器中Bean生命周期 2.IOC容器中核心接口 3.IOC容器启动流程 4.IOC依赖注入流程 =============正文分割线================== Spr ...
- php+Mysql页面注册代码
页面设置代码:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF- ...