asp.net后台动态添加表格并将添加的数据保存到数库中
来源:互联网 发布:古天乐李泽楷关系 知乎 编辑:程序博客网 时间:2024/04/30 06:45
今天做项目,涉及到动态添加表格,研究了下可以使用后台动态添加实现,其中代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="bb.aspx.cs" Inherits="BAS_bb" %><!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> </head><body> <form id="form1" runat="server"> <div> <table id="Table1" runat="server"> <tr> <td>问题</td> <td> <asp:TextBox ID="TextBox1" runat="server" TextMode="MultiLine" Height="40" Width="400"></asp:TextBox> </td> <td> <asp:Button ID="btnOK" runat="server" Text="添加" OnClick="btnOK_Click" Width="50" /> </td> </tr> </table> <div><asp:Button ID="Button1" runat="server" Text="确定" OnClick="Button1_Click"/></div> </div> </form></body></html>
后台C#
using System;using System.Collections.Generic;using System.Data;using System.Data.SqlClient;using System.Linq;using System.Text;using System.Web;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using COTP.DAL;public partial class BAS_bb : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { if (Convert.ToInt32(ViewState["zp"]) != 0) //判断是否是第一次添加 { for (int i = 1; i <= Convert.ToInt32(ViewState["zp"].ToString()); i++) { AddTextBoxs(); } } } //添加行事件 protected void btnOK_Click(object sender, EventArgs e) { AddTextBoxs(); ViewState["zp"] = Convert.ToInt16(ViewState["zp"]) + 1; TextBox txtzpName = (TextBox)Table1.Rows[Table1.Rows.Count - 1].FindControl("txtzpName" + (Table1.Rows.Count - 1)); } //动态添加行 private void AddTextBoxs() { HtmlTableRow tr = new HtmlTableRow(); //添加选项名称 HtmlTableCell tc1 = new HtmlTableCell(); Label lb = new Label(); lb.Text = "选项" + Table1.Rows.Count; tc1.Controls.Add(lb); //添加名称文本框。。 HtmlTableCell tc2 = new HtmlTableCell(); HtmlTextArea txtzpName = new HtmlTextArea(); txtzpName.ID = "txt" + Table1.Rows.Count; txtzpName.Attributes.Add("style", "width:400px;height:40px;"); txtzpName.Attributes.Add("ruant", "server"); tc2.Controls.Add(txtzpName); //添加按钮 HtmlTableCell tc4 = new HtmlTableCell(); Button btn = new Button(); btn.ID = "bt" + Table1.Rows.Count; btn.Text = "删除"; btn.Width = 60; btn.CommandArgument = Table1.Rows.Count.ToString(); btn.Click += new System.EventHandler(bt_Click); tc4.Controls.Add(btn); tr.Cells.Add(tc1); tr.Cells.Add(tc2); tr.Cells.Add(tc4); Table1.Rows.Add(tr); int bb = Table1.Rows.Count; } //注册的事件 private void bt_Click(object sender, System.EventArgs e) { Button btn = (Button)sender; Table1.Rows[Convert.ToInt16(btn.CommandArgument)].Visible = false; } //将添加的数据保存到数据库 protected void Button1_Click(object sender, EventArgs e) { string txtvalue=string.Empty; bool result = false; for (int i = 1; i <= Convert.ToInt32(ViewState["zp"].ToString()); i++) { if (Request.Form["txt" + i] != null) { txtvalue+= Request.Form["txt" + i].ToString()+","; // 获取到所有动态添加的文本框数据,以“,”分隔 } } string [] arr = txtvalue.Split(','); //将获取的动态文本框的值放在一个字符串数组中 string a = string.Empty; for (int i = 0; i < arr.Length; i++)//有多少条数据则数据库插入多少条数据 { if (arr[i].ToString() != "") { a = arr[i].ToString(); if (Addtest(a)) { result = true; } else { result = false; } } } if (result == true) { ScriptManager.RegisterStartupScript(this, this.GetType(), "", "alert('成功');", true); } else { ScriptManager.RegisterStartupScript(this, this.GetType(), "", "alert('失败');", true); } } /// <summary> /// 增加一条数据 /// </summary> public bool Addtest(string item) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into item(item)values (@item)"); strSql.Append(";select @@IDENTITY"); SqlParameter[] parameters = {new SqlParameter("@item", SqlDbType.NVarChar,100),}; parameters[0].Value = item; int rows = SqlHelper.ExecuteNonQuery(SqlHelper.ConnectionString, CommandType.Text, strSql.ToString(), parameters); if (rows > 0) { return true; } else { return false; } }}
- asp.net后台动态添加表格并将添加的数据保存到数库中
- javascript动态添加表格数据行,ASP后台数据库保存例子
- javascript动态添加表格数据行,ASP后台数据库保存例子
- 本人改编的“javascript动态添加表格数据行,ASP后台数据库保存例子”
- .net 后台动态添加datalist 并绑定
- Asp.net利用Jquery动态添加表格的行数
- ASP.NET 后台动态添加控件checkbox
- ITOO---MVC3.0动态添加表格的行数并Controller中获取添加数据
- 动态添加表格并绑定
- 表格的动态添加
- 如何实现将JS动态添加的TR中的值传到后台中并批量插入
- asp.net后台添加控件并同时为其添加后台事件
- asp.net从后台动态添加用户控件
- asp.net 控件后台动态添加样式表
- ASP.NET 后台动态添加控件(复选框)
- JavaScript实现动态添加页面的表格行数并获取数据
- C#后台如何对ASP.net前台的table动态添加行?
- asp.net后台代码实现点击按钮动态添加table的一行
- 教我如何卖软件
- python2.X编码问题梳理
- 黑马程序员_(张孝祥)高新技术
- C++ 四个类型转换符的用法
- Java防止SQL注入
- asp.net后台动态添加表格并将添加的数据保存到数库中
- oracle入门笔记一一【一】
- 换个角度
- java post数据到网页
- solr4.0+IKAnalyzer 中文搜索,无法查询到结果的解决方法
- SSH无需输密码的认证问题
- Discuz!$_G变量的使用方法
- perl 基本语法
- 存储过程无法进行单步调试