`
haimingyoung
  • 浏览: 39982 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Asp.Net动态添加文本框,并获得文本框的值

    博客分类:
  • .net
 
阅读更多

前台aspx页面

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="test.aspx.cs" Inherits="SurveyOnline.test" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <style type="text/css">
        .item
        {
            margin: 10px;
            border-bottom: solid 1px #CCC;
        }
        
        .item2
        {
            margin: 5px;
        }
        
        .input
        {
            width: 200px;
        }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <div class="item">
            Please input a number:
            <asp:TextBox runat="server" CssClass="item" ID="txtTextCount"></asp:TextBox>
            <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtTextCount"
                ValidationGroup="CreateTextBox" Display="Dynamic" ErrorMessage="Required to input content!"></asp:RequiredFieldValidator>
            <asp:RegularExpressionValidator ID="RegularExpressionValidator1" ControlToValidate="txtTextCount"
                ValidationGroup="CreateTextBox" Display="Dynamic" runat="server" ErrorMessage="Only number is valid!"
                ValidationExpression="^\d+$"></asp:RegularExpressionValidator>&nbsp;&nbsp;
            <asp:Button runat="server" ID="btnCreate" Text="Create TextBox List" ValidationGroup="CreateTextBox"
                OnClick="btnCreate_Click" />&nbsp;&nbsp;
            <asp:Button runat="server" ID="btnOK" Text="Get TextBox Content" ValidationGroup="ShowListContent"
                OnClick="btnOK_Click" />
        </div>
        <div runat="server" id="divControls" class="item">
        </div>
        <div runat="server" id="divMessage">
        </div>
    </div>
    </form>
</body>
</html>

 后天代码cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Text;

namespace SurveyOnline
{
    public partial class test : System.Web.UI.Page
    {
        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- ./?%&amp;=]*)?";
                rev.ErrorMessage = "Invalid url Address!";

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

        protected void Page_Load(object sender, EventArgs e)
        {
            if (this.IsPostBack)
            {
                int txtCount = int.Parse(txtTextCount.Text);

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

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

        protected void btnOK_Click(object sender, EventArgs e)
        {
            TextBox txt;
            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}.<br />", i + 1, txt.Text.Trim());
                }
            }

            divMessage.InnerHtml = sbResult.ToString();
        }
    }
}

 

分享到:
评论

相关推荐

    asp.net后台实现文本框提示文字

    本篇文章将深入探讨如何在ASP.NET后台实现文本框的提示文字效果,以及在用户交互时动态改变其颜色和行为。 首先,我们需要了解ASP.NET中的TextBox控件。TextBox是ASP.NET Web Forms中最基本的输入控件,用于接收...

    asp.net自定义日期控件文本框样式

    对于不支持的浏览器,我们需要在控件的`OnInit`或`OnPreRender`事件中动态添加相应的JavaScript代码,比如引入jQuery库和DatePicker插件,并绑定事件监听器。 下面是一段可能的实现代码: ```csharp public class ...

    ASP.net 水印文本框

    ASP.NET 水印文本框是一种用户界面设计技术,它为用户提供了一种友好的交互体验。在用户尚未输入任何文本时,文本框内会显示预设的提示信息,这种提示信息被称为“水印”。水印文本框在网页设计中特别有用,因为它...

    ASP.NET漂亮可编辑文本框

    ASP.NET 是一种基于微软.NET Framework的服务器端网页开发技术,它允许开发人员创建交互式的、动态的Web应用程序。在这个场景中,"ASP.NET漂亮可编辑文本框"指的是用于ASP.NET应用中的一个高级文本编辑组件。这类...

    在ASP.NET中TextBox文本框限制数值大小输入。比如0到5数值.txt

    此功能是c#版开发中,文本框TextBox限制输入数值的大小,当输入数值过大时,文本框下会有提示语句。

    【ASP.NET编程知识】ASP.NET动态添加用户控件的方法.docx

    ASP.NET动态添加用户控件的方法 在ASP.NET编程中,动态添加用户控件是非常重要的技术之一。用户控件是ASP.NET中的一个基本组件,可以在页面中重复使用。动态添加用户控件可以使得我们的页面更加灵活和灵活。 在...

    ASP.NET自定义文本框控件(日历、IP、电话、数字等功能集成)

    在ASP.NET 2.0版本中,控件库得到了进一步的增强,使得开发人员能够更加便捷地构建功能丰富的用户界面。本文将深入探讨如何创建一个自定义文本框控件,该控件集成了日期选择、电话格式验证、IP地址输入以及焦点事件...

    asp.net 密码文本框

    本资源是关于如何在C#编程环境中使用ASP.NET的密码文本框的一个实例,免费分享给大家,旨在帮助开发者更好地理解和应用这一关键功能。 在ASP.NET中,`&lt;asp:TextBox&gt;`控件可以设置为密码类型,通过添加`TextMode=...

    .net_Ajax文本框自动完成示例

    总结起来,.NET Ajax文本框自动完成示例主要涉及.NET Framework、ASP.NET AJAX Control Toolkit、数据库操作、Web服务方法和JSON数据交换等技术。通过合理利用这些技术,我们可以创建出响应快速、用户体验良好的Web...

    asp.net类似注册码文本框的输入程序

    asp.net类似注册码文本框的输入程序asp.net类似注册码文本框的输入程序asp.net类似注册码文本框的输入程序

    asp.net 文本框下拉表格

    在这个"asp.net 文本框下拉表格"的示例中,开发者使用了jQuery库来增强用户界面,以及JSON(JavaScript Object Notation)作为数据交换格式,实现了在文本框输入时动态显示匹配数据的下拉表格功能。 1. **jQuery**...

    ASP.NET AJAX 文本框内容自动补全JS代码

    ASP.NET AJAX 文本框内容自动补全JS代码 自动补全 自动提示 根据关键词自动下拉菜单

    Asp.net结合ajax实现文本框智能提示功能2.0和3.0两种方法

    在Asp.net开发中,有时候我们需要为用户提供更加友好和便捷的交互体验,比如在文本框中输入时自动显示相关的提示信息。这就是所谓的“智能提示”功能,它常见于搜索引擎、登录表单等场景,能够帮助用户快速找到或...

    asp.net 文本框回车事件

    在这段代码中,我们定义了一个ASP.NET文本框控件,并为其添加了`onkeypress`属性,将其值设置为前面定义的JavaScript函数`btnKeyDown()`。这样,每当用户在这个文本框中输入并按下回车键时,都会触发这个JavaScript...

    一个简单的ASP.NET动态网站

    ASP.NET是微软公司开发的一种用于构建web应用程序的框架,它为开发者提供了丰富的工具集和功能,使得构建动态网站变得更为简单。在这个简单的ASP.NET动态网站项目中,我们可以探索以下几个核心知识点: 1. **ASP...

    asp.net文本框下拉列表批量删除

    在ASP.NET开发中,"asp.net文本框下拉列表批量删除"是一个常见的需求,尤其是在处理大量数据时。这个功能允许用户通过输入关键词进行搜索,并一次性删除满足条件的多项选择。在本场景中,jQuery库被用来增强前端交互...

    ASP.NET动态网站设计

    ASP.NET是一种由微软开发的服务器端Web应用程序框架,用于构建功能丰富的、交互式的动态网站、Web应用程序和Web服务。在本教程中,我们将探讨通过ASP.NET结合SQL SERVER进行动态网站设计的相关知识点,这些内容可能...

    asp.net 初始化文本框的小例子

    介绍了asp.net 初始化文本框的小例子,有需要的朋友可以参考一下,希望对你有所帮助

Global site tag (gtag.js) - Google Analytics