昨天遇到的几个坑

在ASP.NET里Table要获取其他Table的构架,要使用Clone()方法,他返回一个有构架的新Table,SO

DataTable tb = SourceTable.Clone()

  还有复制一个行的话要用ImportRow(DataRow row)方法

例子:

  

if (Meters != null && Meters.Tables.Count > 0 && Meters.Tables[0].Rows.Count > 0 && Meters.Tables[0].Rows[0]["METER_NO"] != null && Meters.Tables[0].Rows[0]["METER_NO"].ToString() != "")
        {
            foreach (DataRow row in Meters.Tables[0].Rows)
            {
                string Meter_ID = row["METER_NO"].ToString().Trim().Substring(0, 8);//获取线路编号前8位
                if (Int32.Parse(Meter_ID) == Int32.Parse(MeterID))//和传入的变压器编号做对比
                {
                    tb.ImportRow(row);//若两个编号相同,则将此条录入DS中
                }
            }
        }

  没有复制构架的时候就算把行加进去,也木有列明啊喂!

还有一个坑:Ajax我现在用的话一个调用后端的前端JS语句(真拧巴)执行完后,实际上会来一次PostBack!那就意味着,你在后端代码里的成员变量会重置啊喂!null了啊!受不了啊!但是呢,绕了一大圈,最后发现用static变量能够解决。不过JSON大大告诉我这个不好,说用缓存比较好。(Leader不许用Session啊!)用Session也不好。

还有,之前我想把DataSet传到前端,再从前端传到后端,后来发现不行,估计是变量hold不住吧。

ok,今天的坑就掉了这么一些。

原文地址:https://www.cnblogs.com/UliiAn/p/3196346.html