• C#结合JS实现HtmlTable动态添加行并保存到数据库


    在C#和JavaScript(通常与ASP.NET或ASP.NET Core结合使用)中,实现一个HtmlTable动态添加行并将数据保存到数据库的功能通常涉及几个步骤。以下是一个基本的实现流程:

    1. 创建ASP.NET或ASP.NET Core项目

    首先,你需要一个ASP.NET或ASP.NET Core项目来承载你的Web应用程序

    2. 设计HTML表格

    在你的ASP.NET或ASP.NET Core的Razor视图中,你可以创建一个HTML表格。这个表格将用于显示和编辑数据。

     
    

    html复制代码

    列1
    列2

    3. 使用JavaScript动态添加行

    在JavaScript中,你可以编写一个函数来动态地向表格添加行。

     
    

    javascript复制代码

    function addRow() {
    var table = document.getElementById('myTable');
    var row = table.insertRow(-1); // 在表格的末尾插入新行
    var cell1 = row.insertCell(0);
    var cell2 = row.insertCell(1);
    // ... 为其他列添加单元格
    // 你可以在这里添加输入元素(如)到单元格中,以便用户可以输入数据
    cell1.innerHTML = '';
    cell2.innerHTML = '';
    // ...
    }

    4. 提交数据到服务器端

    当用户点击提交按钮时,你需要收集表格中的所有数据,并通过AJAX请求发送到服务器端。

     
    

    javascript复制代码

    function submitData() {
    var table = document.getElementById('myTable');
    var data = []; // 用于存储所有行的数据
    // 遍历表格的每一行(除了表头)
    for (var i = 1; i < table.rows.length; i++) {
    var rowData = {}; // 用于存储当前行的数据
    // 遍历当前行的每一个单元格
    for (var j = 0; j < table.rows[i].cells.length; j++) {
    // 假设每个单元格内都有一个输入元素,你可以通过其值来获取数据
    var input = table.rows[i].cells[j].querySelector('input');
    if (input) {
    rowData['Column' + (j + 1)] = input.value; // 将数据存储在rowData对象中,键名可以根据需要自定义
    }
    }
    data.push(rowData); // 将当前行的数据存储到data数组中
    }
    // 使用AJAX(如jQuery的$.ajax或fetch API)将数据发送到服务器端
    // ...
    }

    5. 在服务器端接收并保存数据

    在服务器端(C#),你需要一个API端点来接收从客户端发送的数据,并将其保存到数据库中。这通常涉及创建一个ASP.NET或ASP.NET Core的Controller,并添加一个Action方法来处理POST请求。

     
    

    csharp复制代码

    [HttpPost]
    public IActionResult SaveData([FromBody] List data)
    {
    // MyModel是表示一行数据的C#类,其属性应与JavaScript中发送的数据匹配
    // 在这里,你可以遍历data列表,并使用Entity Framework或其他ORM将数据保存到数据库中
    // ...
    // 如果保存成功,则返回适当的HTTP状态码和消息
    return Ok("数据已保存");
    }

    请注意,上面的代码只是一个基本的示例,你需要根据你的具体需求进行修改和扩展。特别是,你需要处理错误情况(如验证输入数据、处理数据库连接问题等),并确保你的代码是安全的(如防止SQL注入攻击)。

    在HTML中,你不能直接通过HTML代码本身来动态添加新行,因为HTML是静态的标记语言。但是,你可以使用JavaScript(或者与ASP.NET或ASP.NET Core等服务器端技术结合)来动态地修改DOM(文档对象模型),从而向HTML表格中添加新行。

    以下是一个使用纯JavaScript向HTML表格添加新行的简单示例:

     
    

    html复制代码

    动态添加表格行
    列1
    列2
    数据1
    数据2

    在上面的示例中,我们定义了一个名为addRow的JavaScript函数,该函数通过getElementById获取表格元素,并使用insertRow方法向表格的末尾添加一个新行。然后,我们使用insertCell方法向新行中添加单元格,并可以通过innerHTML属性设置单元格的内容。最后,我们创建了一个按钮,当点击该按钮时,会调用addRow函数来添加新行。

  • 相关阅读:
    缓存穿透、雪崩与击穿
    Verasity Tokenomics — 社区讨论总结与下一步计划
    聊聊什么是SpringBoot 的自动装配原理
    Vue系列之数组更新检测
    el-row和el-col在element ui中的注意点
    双链表的基本操作
    win安装vue并运行 vue-admin-template
    渲染引擎的资源加载优化
    MyBatisPlus-映射匹配兼容性
    移动硬盘raw怎么办?一招教你解决RAW格式的文件
  • 原文地址:https://blog.csdn.net/zgw555555/article/details/139770003