sinat_34861539
2018-05-08 07:44
采纳率: 100%
浏览 1.1k

ASP.NET 如何在Onclick方法中将table中的数据全部插入到数据库的一张表中

table里的数据是用js 按添加按钮一次一次添加进去的,所以table的行数随机,列数只有两列。

图片说明

效果如下
图片说明

请问如何 按一个按钮后 在后台一次性把前端的显示数据插入数据库sql server里呢?
能不能给一段具体代码!!!!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • 已采纳

    自己遍历table组合成json数组,服务器端反序列化为数组入库就行了,
    DEMO:Asp.Net商品尺码,颜色,数量入库示例

    点赞 打赏 评论
  • 椎名小由奈 2018-05-08 09:39

    把table放在表单里,然后表单序列化,提交,后天接收。

    点赞 打赏 评论
  • qq_29250037 2018-05-08 09:40

    建立一个实体, 将数据放进ILIST,然后循环将ILIST更新到数据库中,

    点赞 打赏 评论
  • josephng 2018-05-08 09:51

    多种方式可以实现,如果是webform的话,可以直接使用服务器端onserverclick,表中的数据通过前端js将其放入一个server级别的输入框里,在onserverclick对应的后台处理方法,可以操作该书入库的内容;
    也可以直接用ajax,js将表中数据逐条封装为数组,通过ajax向后台提交,json、字符串等格式均可。

    点赞 打赏 评论
  • a1152249720 2018-05-08 10:11

    序列化生成json ,调用事先封装好的方法就行了

    点赞 打赏 评论
  • 
    <script src="https://cdn.bootcss.com/jquery/1.7.1/jquery.min.js"></script>
    货品名:<input type="text" id="text1" /> 数量:<input type="text" id="text2" /><input type="button" value="添加" /><br />
    <table id="table" border="1"><tr><td>货品名</td><td>数量</td></tr></table>
    <br /><a onclick="save()">保存</a>
    <script>
        $(function () {
            $(':button').click(function (e) {
                var text1 = $('#text1').val();
                var text2 = $('#text2').val();
                $('#table').append('<tr><td>' + text1 + '</td>><td>' + text2 + '</td></tr>')
            })
        });
        function save() {
            var data = $('#table tr:gt(0)').map(function () {
                //如果输入内容存在英文状态下|则替换为全角状态下的|
                return $('td', this).map(function () { return this.innerHTML.replace(/\|/g,'|')}).get().join('|');//每组用英文状态下|分隔
            }).get().join('\n');//每行数据用换行符隔开
    
            if (!data) { alert('先添加数据!'); return }
    
            $.ajax({
                type: 'POST', url: 'xxxxx.aspx', data: { data: data, op: 'save' }, complete: function (xhr) {
                    var s = xhr.responseText;
                    if (s == '1') alert('保存成功')
                    else alert(s)
                }
            })
        }
    </script>
    

    xxxxx.aspx

    
        protected void Page_Load(object sender, EventArgs args)
        {
            if (Request.Form["op"] == "save")
            {
                string data = Request.Form["data"],sql="";
                if (string.IsNullOrEmpty(data))
                {
                    string[] arr = data.Split('\n'),item;
                    foreach (string s in arr)
                    {
                        item = s.Split('|');
                        if (item.Length < 2) continue;
                        sql += "insert into xxxtable(name,num)values('" + item[0] + "'," + item[1] + ")";
                    }
                    if (sql != "")
                    { //执行sql语句,不用我多少了吧。。。
    
    
                        Response.Write("1");//成功输出1
                    }
                    else Response.Write("数据错误...");
                }
    
                Response.End();
            }
        }
    
    点赞 打赏 评论

相关推荐 更多相似问题