ASP.NET动态添加TextBox控件
来源:互联网 发布:淘宝品牌排行榜 编辑:程序博客网 时间:2024/05/16 14:50
转自:http://blog.csdn.net/keepitshortandsimple/article/details/6177025
方法一:
前台代码ASPX:
- <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;
- }
- }
方法二:
前台使用js添加Input type="text"html控件:
- <!--以下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>");
- }
阅读全文
0 0
- ASP.NET动态添加TextBox控件
- ASP.NET动态添加TextBox控件
- asp.net 动态添加控件
- ASP.NET动态添加控件
- asp.net 动态创建TextBox控件 如何加载状态信息
- asp.net遍历TextBox控件
- ASP .NET – TextBox 控件
- asp.net为控件动态添加事件
- ASP.NET 后台动态添加控件checkbox
- asp.net为控件动态添加事件
- asp.net 服务器端动态生添加控件
- ASP.NET 动态添加自定义控件
- ASP.NET动态添加控件(感想)
- 如何动态添加子控件(动态添加TextBox控件)
- 真正的动态添加TextBox控件
- asp.net动态添加控件和获取控件的值
- asp.net动态添加控件和获取控件的值
- asp.net中为TextBox Web服务器控件添加OnClick事件
- Android中layer-list学习
- vue路由的使用
- c/c++ 语言随机数产生
- jenkins打包报:ant:command not find
- MySQL半同步复制的数据一致性探讨
- ASP.NET动态添加TextBox控件
- tomcat的安装和系统自启动
- 括号{}()[]匹配
- Server Tomcat v9.0 Server at localhost failed to start.
- 不存在具有“AppType”的“IEnumerable<SelectListItem>”类型的 ViewData 项
- Android中layer-list使用详解
- CDOJ1073-秋实大哥与线段树 线段树单点更新+区间求和
- ssh框架小结
- angular-file-upload 封装为指令获取图片高宽