62,046
社区成员
发帖
与我相关
我的任务
分享
for (int i = 0; i < dt.Rows.Count; i++)
{
string simplePinYin = PinYinConverter.GetFirst(dt.Rows[i]["约课场所"].ToString());
string directoryName = Regex.Replace(simplePinYin, @"[\b(|\b)|\b(|\b)]", "-");
if (!Directory.Exists(Server.MapPath(@"StoreXml/" + directoryName)))
{
Directory.CreateDirectory(Server.MapPath(@"StoreXml/" + directoryName));
}
DataRow[] drArr = dt.Select("约课场所='" + dt.Rows[i]["约课场所"] + "'");
DataTable dtNew = dt.Clone();
foreach (DataRow t in drArr)
{
dtNew.ImportRow(t);
}
for (int k = 0; k < dtNew.Rows.Count; k++)
{
DataRow[] drArrChild = dtNew.Select("日期='" + dtNew.Rows[k]["日期"] + "'");
DataTable dtChild = dtNew.Clone();
foreach (DataRow t in drArrChild)
{
dtChild.ImportRow(t);
}
string xmlData = DataTableToXml(dtChild);
string time = dtNew.Rows[k]["日期"].ToString();
string xmlName = time.Replace(" ", "-");
if (!File.Exists(Server.MapPath(@"StoreXml/" + directoryName + "/" + xmlName + ".xml")))
{
File.Create(Server.MapPath(@"StoreXml/" + directoryName + "/" + xmlName + ".xml")).Close();
var sw = new StreamWriter(Server.MapPath(@"StoreXml/" + directoryName + "/" + xmlName + ".xml"), true, Encoding.UTF8);
sw.WriteLine("<?xml version=\"1.0\" encoding=\"" + "UTF-8" + "\" standalone=\"yes\"?>");
sw.Write(xmlData);
sw.Close();
nowNum++;
if (nowNum == (Convert.ToInt32(sum / 100)) * x)
{
var width = 3 * x;
ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script>progressBar(" + width + ");</script>");
x++;
}
}
}
}
WEB多线程是可以的,但不是你这种用法,你应该是通过websocket来实现推送,可以的话了解下SignalR
WEB多线程是可以的,但不是你这种用法,你应该是通过websocket来实现推送,可以的话了解下SignalR