none
数组 循环 控件 RRS feed

  • 问题

  • 请教下 斑竹们 如何写 循环 才能达到以下的效果.请指点下:
    button事件按一次
    数组控件循环一次生成5个  ID:1--5
    第2次      上面3个保持不变 在生成5个 ID:6--10
    2010年1月14日 6:33

答案

  • 你好!

    动态创建的创建和状态保持都比较麻烦。下面的服务端动态产生的示例,建议结合 JS 或 Ajax 来做这样的需求。

    <%@ Page Language="C#" AutoEventWireup="true" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <script runat="server">
    
        private int AutoGenerateCount
        {
            get
            {
                if (ViewState["AutoGenerateCount"] == null)
                    ViewState["AutoGenerateCount"] = 5;
                
                return (int)ViewState["AutoGenerateCount"];
            }
            set
            {
                ViewState["AutoGenerateCount"] = value;
            }
        }
    
        protected void Page_Load(object sender, EventArgs e)
        {
            if (this.IsPostBack)
                this.Generate();
        }
    
        protected void Button1_Click(object sender, EventArgs e)
        {
            this.AutoGenerateCount += 5;
        }
        
        private void Generate()
        {
            for (int i = 1; i <= this.AutoGenerateCount; i++)
            {
                TextBox control = new TextBox();
                control.ID = String.Format("TextBox{0}", i);
                this.Holder.Controls.Add(control);
            }
        }
    </script>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:PlaceHolder ID="Holder" runat="server"></asp:PlaceHolder>
            <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="AutoGenerate" />
        </div>
        </form>
    </body>
    </html>
    


    知识改变命运,奋斗成就人生!
    • 已标记为答案 Jan coki 2010年1月14日 8:41
    2010年1月14日 8:02
    版主

全部回复

  • 你好!

    动态创建的创建和状态保持都比较麻烦。下面的服务端动态产生的示例,建议结合 JS 或 Ajax 来做这样的需求。

    <%@ Page Language="C#" AutoEventWireup="true" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <script runat="server">
    
        private int AutoGenerateCount
        {
            get
            {
                if (ViewState["AutoGenerateCount"] == null)
                    ViewState["AutoGenerateCount"] = 5;
                
                return (int)ViewState["AutoGenerateCount"];
            }
            set
            {
                ViewState["AutoGenerateCount"] = value;
            }
        }
    
        protected void Page_Load(object sender, EventArgs e)
        {
            if (this.IsPostBack)
                this.Generate();
        }
    
        protected void Button1_Click(object sender, EventArgs e)
        {
            this.AutoGenerateCount += 5;
        }
        
        private void Generate()
        {
            for (int i = 1; i <= this.AutoGenerateCount; i++)
            {
                TextBox control = new TextBox();
                control.ID = String.Format("TextBox{0}", i);
                this.Holder.Controls.Add(control);
            }
        }
    </script>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:PlaceHolder ID="Holder" runat="server"></asp:PlaceHolder>
            <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="AutoGenerate" />
        </div>
        </form>
    </body>
    </html>
    


    知识改变命运,奋斗成就人生!
    • 已标记为答案 Jan coki 2010年1月14日 8:41
    2010年1月14日 8:02
    版主
  • 我 这边 也写了一个 不过超麻烦的·· 头痛 ··在问个问题 关于 ASCII的 ···
    如果 多个 字符 输入到TEXTBOX里 ··我想将TEXTBOX里的字符分别转化为ASCII 这个 可以实现吗??
    2010年1月14日 8:44
  • 什么需求要这样做呢。
    知识改变命运,奋斗成就人生!
    2010年1月14日 9:06
    版主