zoukankan      html  css  js  c++  java
  • 关于容器中的控件的使用

    本例以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);
                    }

                }

            }
  • 相关阅读:
    BZOJ 1529 [POI2005]ska Piggy banks:并查集
    BZOJ 1370 [Baltic2003]Gang团伙:并查集【虚点】
    BZOJ 3624 [Apio2008]免费道路:并查集 + 生成树 + 贪心【恰有k条特殊路径】
    BZOJ 1660 [Usaco2006 Nov]Bad Hair Day 乱发节:单调栈
    BZOJ 2019 [Usaco2009 Nov]找工作:spfa【最长路】【判正环】
    BZOJ 1638 [Usaco2007 Mar]Cow Traffic 奶牛交通:记忆化搜索【图中边的经过次数】
    BZOJ 1641 [Usaco2007 Nov]Cow Hurdles 奶牛跨栏:新版floyd【路径上最大边最小】
    BZOJ 1673 [Usaco2005 Dec]Scales 天平:dfs 启发式搜索 A*搜索
    POJ2226-Muddy Fields-二分图*
    POJ2186-Tarjan-kosaraju-缩点
  • 原文地址:https://www.cnblogs.com/songafeng/p/169107.html
Copyright © 2011-2022 走看看