惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

腾讯CDC
IT之家
IT之家
有赞技术团队
有赞技术团队
WordPress大学
WordPress大学
Apple Machine Learning Research
Apple Machine Learning Research
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
人人都是产品经理
人人都是产品经理
The Cloudflare Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 【当耐特】
V
V2EX
Last Week in AI
Last Week in AI
H
Help Net Security
The GitHub Blog
The GitHub Blog
S
SegmentFault 最新的问题
F
Fortinet All Blogs
I
InfoQ
宝玉的分享
宝玉的分享
A
About on SuperTechFans
MongoDB | Blog
MongoDB | Blog
Microsoft Azure Blog
Microsoft Azure Blog
Blog — PlanetScale
Blog — PlanetScale
B
Blog

博客园 - 阿风的博客

高压力下正则表达式的性能瓶颈 SQL SERVER2008不在同一局域网内实现订阅发布的方法 得到一个字符串的占位长度的函数 一个类似SPY++雷达手的工具 RPM V2.2发布 关于Table Schema 一段取得数据库中所有表字段及字段中文描述的SQL语句 多主键情况下的真分页存储过程 POP气球机v1.3 c#对调用存储过程的简化 PCPOP多功能外挂v1.1 PCPOP多功能外挂v1.0 POP气球机 关于系统的垃圾文件 关于在同个页面实现多种编码的显示方法 关于几个比较经典的SQL语句 关于文件的上传。 网站开发步骤 网页源代码的获取方法
关于容器中的控件的使用
阿风的博客 · 2005-06-06 · via 博客园 - 阿风的博客

本例以DataList中包含CheckBox为例讲述被容器包含的控件的检查方法。
关于在模板/容器(可以是DataGrid,DataList,Adpter等)内包含控件的检查方法。如果在模板中给控件(CheckBox)赋予了一个ID(chkTest),那么我们可以从其容器中检索此空间。特别要提醒的是,因为模板(ItemTemplate)的重复循环,所以若干控件具有同一ID(chkTest),但是每个控件在逻辑上也包含在容器的命名空间中。
可以在 DataList 的 Items 集合中遍历以检索给定索引的 DataListItem,然后调用 DataListItem 的 FindControl 方法(从基 Control 类继承)检索具有特定 ID 的控件。

例子的代码:
asp.net部分

        <form id="Form1" method="post" runat="server">
            
<P>
                
<asp:DataList id="DataList1" runat="server">
                    
<ItemTemplate>
                        
<TABLE>
                            
<TR>
                                
<TD><%# DataBinder.Eval(Container.DataItem,"id")%></TD>
                            
</TR>
                            
<TR>
                                
<TD>
                                    
<asp:CheckBox id="chkTest" Runat="server" Text=<%# DataBinder.Eval(Container.DataItem,"id")%>></asp:CheckBox></TD>
                            
</TR>
                        
</TABLE>
                    
</ItemTemplate>
                
</asp:DataList></P>
            
<asp:Button id="Button1" runat="server" Text="Button"></asp:Button>
        
</form>

C#部分
Page_Load中DataList的绑定:

            if(!this.IsPostBack)
            
{
                conn c
=new conn();
                
this.DataList1.DataSource=c.getData("select * from a");
                
this.DataList1.DataBind();
            }

Button1_Click方法(核心代码):

        private void Button1_Click(object sender, System.EventArgs e)
        
{
            
for(int i=0;i<this.DataList1.Items.Count;i++)
            
{
                
string ischecked=((CheckBox)(this.DataList1.Items[i].FindControl("chkTest"))).Checked.ToString();
                
if(ischecked=="True")
                
{
                    Response.Write(((CheckBox)(
this.DataList1.Items[i].FindControl("chkTest"))).Text);
                }

            }

        }