`

动态添加TextBox

阅读更多

 

方法1:

 

 

前台代码:

  <form id="form1" runat="server">
    请输入数量:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:Button ID="Button1"
        runat="server" Text="确定" onclick="Button1_Click1" />
   <div id="divControl" runat="server">
     
   </div>
       <asp:Button ID="Button2" runat="server" onclick="Button2_Click" Text="提交所有信息" />
   
    </form>

 

.aspx.cs代码(后台):

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

public partial class Default2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    /// <summary>
    /// 首先先循环出你所输入数字的文本框
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Button1_Click1(object sender, EventArgs e)
    {
        AddTextBox();
    }

    //动态添加TextBox
    private void AddTextBox()
    {
        for (int i = 0; i < Convert.ToInt32(TextBox1.Text); i++)
        {
            Label li = new Label();
            li.Text = (i + 1) + ".用户名:";
            TextBox t = new TextBox();
            t.ID = "txt" + i.ToString();
            TextBoxBinds(t, i);
            divControl.Controls.Add(li);
            divControl.Controls.Add(t);
            divControl.Controls.Add(new LiteralControl("<br>"));
        }
    }

    /// <summary>
    /// 然后提交提交所有数据
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Button2_Click(object sender, EventArgs e)
    {
        AddTextBox();
        int txtCount = Convert.ToInt32(TextBox1.Text);
        //进行验证是否有为空的数据!,该验证必须放在重复循环TextBox信息之后,否则将不会显示回传后的TextBox
        for (int i = 0; i < txtCount; i++)
        {
            String txtValue = Request.Form["txt" + i.ToString()];
            if (!CheckIsNull(txtValue))
            {
                //如果验证有不符合的将不进行下面数据库相关操作.
                return;
            }
        }


        for (int i = 0; i < txtCount; i++)
        {
            Response.Write(Request.Form["txt" + i.ToString()] + "<br>");
            //Response.Write("现在可以对数据库中的数据循环操作了!");
        }
    }


    /// <summary>
    /// 重复提交时对数据的绑定
    /// </summary>
    /// <param name="t"></param>
    /// <param name="i"></param>
    private void TextBoxBinds(TextBox t, int i)
    {
        //通过TextBox的name得到它的值
        string txtValue = Request.Form["txt" + i.ToString()];
        //判断该值是否为空
        if (!String.IsNullOrEmpty(txtValue))
        {
            //不为空则对该文本框的值赋值
            t.Text = txtValue;
        }

    }

    /// <summary>
    /// 验证文本框是否为空!
    /// </summary>
    /// <param name="txtValue"></param>
    /// <returns></returns>
    private bool CheckIsNull(String txtValue)
    {
        if (String.IsNullOrEmpty(txtValue))
        {
            LiteralControl lc = new LiteralControl();
            lc.Text = "<script>alert(\"请输入文本框信息!\");</script>";
            Page.Controls.Add(lc);
            return false;
        }
        return true;
    }
}

 

 

 方法2:

<!--以下html内容可以用js动态输入-->
<table>
<tr>
<td>
姓名</td><td>
性别</td><td>身份证
</td></tr>
<tr>
<td>
<input type="text" name="txtName" /></td><td>
<select name="lstSex"></select></td><td>
<input type="text" name="txtCerID" />
</td></tr>
<tr>
<td>
<input type="text" name="txtName" /></td><td>
<select name="lstSex"></select></td><td>
<input type="text" name="txtCerID" />
</td></tr>
</table>

后台用:
string[] arrName = Request.Form.GetValues("txtName");
string[] arrSex = Request.Form.GetValues("lstSex");
string[] arrCerId = Request.Form.GetValues("txtCerID");
for(int i=0;i<arrName.length;i++){
    // 取得第i行的数据,后来你就保存去吧
    string name = arrName[i];
    string sex = arrSex[i];
    string cerId = arrCerId[i];
}
还可以用split方法来截取值:
String[] strSprit = Request.Form["txtUsername"].Split(',');
 for (int i = 0; i < strSprit.Length; i++)
 {
     Response.Write(strSprit[i]+"<br>");
 }

  

  • 大小: 3.3 KB
分享到:
评论

相关推荐

    ListView上添加commbox、textbox等控件例子

    这通常通过为ListViewItem添加SubItems实现,但因为ComboBox和TextBox不是ListView的内置子项类型,所以需要使用OwnerDraw模式。在OwnerDraw模式下,我们可以自定义绘制ListView项,实现控件的嵌入。 1. **ComboBox...

    动态增加删除TextBox组件

    本话题主要关注动态增加和删除TextBox控件,这是一种增强用户交互和提供灵活输入方式的有效手段。下面我们将深入探讨这个主题。 首先,动态增加TextBox控件通常是通过编程实现的,而不是在设计时直接在界面上放置。...

    动态生成textbox控件

    5. **事件处理**:最后,我们可能还需要为这些动态生成的TextBox添加事件处理程序,例如文本改变事件: ```csharp textBox.TextChanged += new EventHandler(textBox_TextChanged); ``` 在`WindowsForms...

    Tablelayoutpanel控件自动添加textbox,label控件,并布局

    本篇文章将详细探讨如何使用`TableLayoutPanel`控件来动态添加`TextBox`和`Label`控件,并进行布局。 首先,`TableLayoutPanel`控件是.NET Framework中的一个控件,它提供了类似HTML表格的布局能力。通过设置列数...

    动态添加控件

    二、动态添加TextBox控件 1. 创建Table控件:首先,我们需要创建一个Table控件作为容器,用于存放动态添加的TextBox控件。这可以在代码-behind文件的Page_Init或Page_Load事件中完成。 ```csharp Table table = new...

    listview内嵌textbox(c#)

    我们可以在`ItemTemplate`中添加TextBox控件,并在需要时显示或隐藏它们,以便用户可以编辑选定的项。 ```csharp public class CustomListView : ListView { // ... private void InitializeTextboxItems() { ...

    textBox添加选项框

    首先,我们来看“textBox添加选项框”这个主题。在Windows Forms或WPF等UI框架中,一个基本的textBox通常用于接收用户的单行文本输入。然而,有时我们需要在textBox中添加下拉选项框,以便用户可以选择预定义的值,...

    ListView 添加Combox textbox 以及其他控件

    添加TextBox控件: TextBox控件可以用于编辑或输入数据。同样,我们需要在ListView的项模板中添加一个TextBox控件。在Windows Forms中,可以在ListView的DrawItem事件中动态绘制TextBox。以下是一些关键步骤: 1. ...

    C#在panel动态添加控件

    例如,如果你想要添加TextBox控件,可以这样做: ```csharp protected void Page_Init(object sender, EventArgs e) { // 创建一个TextBox控件 TextBox txtBox = new TextBox(); txtBox.ID = "txtBox1"; // ...

    Wpf Mvvm 动态创建控件

    在WPF中,动态创建控件通常涉及到`System.Windows.Controls`命名空间中的控件类,如TextBox、CheckBox、ComboBox等。首先,我们需要了解每个控件的构造函数和属性,以便在代码中实例化它们。例如,创建一个TextBox...

    给textbox添加属性

    标题“给TextBox添加属性”表明我们将讨论如何扩展TextBox的默认功能,通过添加自定义属性来增强其功能。描述中提到要增加6个与text属性类似的属性,这可能是指我们要创建一些新的数据绑定或文本处理特性。 首先,...

    js 动态为textbox添加下拉框数据源的方法

    在进行Web开发的过程中,我们经常会遇到需要为文本框(textbox)动态添加下拉框数据源的场景。这通常是为了提供用户选择而设计的交互功能,比如自动补全、选择列表等。本文将详细介绍如何使用JavaScript(js)动态地...

    C# Winform TabControl选项卡 动态添加,删除,修改

    本教程将详细讲解如何实现TabControl的动态添加、删除和修改功能。 首先,让我们了解TabControl的基本结构。TabControl由一个或多个TabPage组成,每个TabPage上可以放置其他控件,如Label、Button等。在编程时,...

    带背景图片的Textbox[vb.net]

    总之,这个项目展示了如何在VB.NET中利用用户控件(UserControl)和重绘技术来创建一个自定义的TextBox,该TextBox支持动态更换背景图片,提高了UI的可定制性。这种自定义控件在各种应用程序中都能派上用场,尤其是在...

    C# 几个textbox 里的值相加 赋值到 textbox

    最后,考虑到用户可能会输入非数字字符,你可能还需要添加一些错误处理机制,如显示错误消息或清空结果TextBox,以防止出现无效的计算结果。 以上就是关于“C#中几个TextBox里的值相加并赋值到TextBox”的实现方法...

    VB动态添加控件

    1. **选择控件类型**:首先,你需要确定要动态添加的控件类型,例如,你可能需要添加一个按钮(Button)、文本框(TextBox)或标签(Label)。 2. **创建控件对象**:在VB中,每种控件都有对应的类,例如,`Button`...

    vc.net如何动态添加控件

    在VC#.NET中,动态添加和删除控件是一项常见的任务,尤其在开发用户界面时,可能需要根据用户操作或程序逻辑动态创建或移除控件。动态添加控件可以极大地提高程序的灵活性和可扩展性。下面将详细介绍如何在VC#.NET中...

    EasyUI textbox事件,EasyUI textbox input events

    在使用UasyUI的时候,在一般的input输入框上添加class="easyui-textbox"属性,则在该输入框上添加的事件将不起作用,但是如果去掉class="easyui-textbox"变成一般的input则起作用。 控件的生成原理,它是把你原有的...

    C# DataGridView单元格中动态添加多个控件

    这个主题“C# DataGridView单元格中动态添加多个控件”就涵盖了如何在`DataGridView`的单元格内部动态创建和管理多个控件。 在VS2012中,我们可以利用事件驱动编程和反射技术来实现这一目标。首先,我们需要理解`...

    VB文本框TEXTBOX文字垂直居中

    4. 在TextBox的TextChanged事件中,动态计算TextBox的高度并调整其Top属性,使其在PictureBox内保持垂直居中。例如: ``` Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1....

Global site tag (gtag.js) - Google Analytics