栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C# > C#教程

C#后台创建控件并获取值的方法

C#教程 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C#后台创建控件并获取值的方法

本文实例讲述了C#后台创建控件并获取值的方法。分享给大家供大家参考。具体实现方法如下:

前台代码:

复制代码 代码如下:

后台代码:
复制代码 代码如下:protected void Page_Load(object sender, EventArgs e)
    {
        if (this.IsPostBack)
        {
            int txtCount = int.Parse(txtTextCount.Text);

            // 注意:每次PostBack时,都需要重新动态创建TextBox
            CreateTextBoxList(txtCount);
        }
    }
    ///

 

    /// Create textbox list
    ///


    ///textbox list count
    private void CreateTextBoxList(int num)
    {
        HtmlGenericControl div;
        HtmlGenericControl span;
        TextBox txt;
        //RegularexpressionValidator rev;

        for (int i = 0; i < num; i++)
        {
            //创建div
            div = new HtmlGenericControl();
            div.TagName = "div";
            div.ID = "divTextBox" + i.ToString();
            div.Attributes["class"] = "item2";

            //创建span
            span = new HtmlGenericControl();
            span.ID = "spanTextBox" + i.ToString();
            span.InnerHtml = "Url Address" + (i + 1).ToString() + ":";

            //创建TextBox
            txt = new TextBox();
            txt.ID = "txt" + i.ToString();
            txt.CssClass = "input";

            //创建格式验证控件,并且将其关联到对应的TextBox
            //rev = new RegularexpressionValidator();
            //rev.ID = "rev" + i.ToString();
            //rev.ControlToValidate = txt.ID;
            //rev.Display = ValidatorDisplay.Dynamic;
            //rev.ValidationGroup = "ShowListContent";
            //rev.Validationexpression = @"(http(s)?://)?([w-]+.)+[w-]+(/[w- ./?%&=]*)?";
            //rev.ErrorMessage = "Invalid url Address!";

            //添加控件到容器
            div.Controls.Add(span);
            div.Controls.Add(txt);
            //div.Controls.Add(rev);
            divControls.Controls.Add(div);
        }
    }

    protected void btnCreate_Click(object sender, EventArgs e)
    {
        txtTextCount.Enabled = false;
        btnCreate.Enabled = false;
    }

    protected void btnOK_Click(object sender, EventArgs e)
    {
        TextBox txt;
        HtmlGenericControl span;
        StringBuilder sbResult = new StringBuilder();
        int txtCount = int.Parse(txtTextCount.Text);

        //遍历获取动态创建的TextBox们中的Text值
        for (int i = 0; i < txtCount; i++)
        {
            //注意:这里必须通过上层容器来获取动态创建的TextBox,才能获取取ViewState内容
            txt = divControls.FindControl("txt" + i.ToString()) as TextBox;

            if (txt != null && txt.Text.Trim().Length > 0)
            {
                sbResult.AppendFormat("Url Address{0}: {1}.
", i + 1, txt.Text.Trim());
            }
        }
        //遍历获取动态创建的TextBox们中的Text值
        for (int i = 0; i < txtCount; i++)
        {
            //注意:这里必须通过上层容器来获取动态创建的TextBox,才能获取取ViewState内容
            span = divControls.FindControl("spanTextBox" + i.ToString()) as  HtmlGenericControl ;

            if (span != null && span.InnerText.Trim().Length > 0)
            {
                sbResult.AppendFormat("Url Address{0}: {1}.
", i + 1, span.InnerText.Trim());
            }
        }
        divMessage.InnerHtml = sbResult.ToString();
}

希望本文所述对大家的C#程序设计有所帮助。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/125716.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号