C#有一张表 怎么获取某一列下面的含有数据的单元格datatable

C#我有一张表,怎么获取某一列下面的含有数据的单元格加入数组里面 SqlHelper sql = new SqlHelper();
            DataTable dt = sql.GetTableFromStoredProcedure(); // 调用获取表格的方法
                                                              // 使用 LINQ 查询语句获取某一列下面含有数据的行
            var columnName = "Spi1"; // 替换为您要查询的列名
            IEnumerable columnData = dt.AsEnumerable()
      .Select(row => row.Field(columnName))
      .Where(cell => !string.IsNullOrEmpty(cell));

            // 将数据加入到数组中
            string[] dataArray = columnData.ToArray();

Where()方法中添加了一个条件cell != "-",用于排除值为"-"的单元格。 

为什么前端path是"G:\Homework\H5响应式" 通过$.ajax({
url: '/Resource/oresource',
data: {
path: path
},传值给后端就变成了G%3A%5CHomework%5CH5响应式

这是因为在 URL 中,某些字符需要进行编码以确保传递的数据是有效的和安全的。 路径中包含了一些特殊字符,如反斜杠 \,它们需要被编码才能正确传递给后端。

编码后的字符串 "G%3A%5CHomework%5CH5响应式" 是 URL 编码的结果。这种编码方式使用百分号和十六进制表示来替换特殊字符。

在前端使用 $.ajax() 函数发送请求时,jQuery 会自动对 URL 中的参数进行编码,以确保数据的正确传递。后端接收到请求时会自动将编码后的字符串解码回原始的形式。

 后端应该能够正确解析并使用传递的路径参数。在后端代码中, 可以使用相应的解码函数将编码后的字符串转换回原始的路径形式。例如,在 C# 中可以使用 HttpUtility.UrlDecode() 方法进行解码。

string encodedPath = "G%3A%5CHomework%5C大一项目%5CH5响应式%5CH5响应式";
string decodedPath = HttpUtility.UrlDecode(encodedPath);

你可能感兴趣的:(c#,开发语言)