通过单击我的 aspx 页面上的按钮,我生成一个 .csv 文件以在 javascript dygraph 中使用:
protected void btn_start_Click(object sender, EventArgs e)
{
.....
System.IO.File.WriteAllText(MapPath("~/Data/") + authuser + "_data.csv", data);
稍后,在同一按钮单击事件中,我使用 dygraph 的 javascript 代码(以 .csv 作为源)填充 div 容器(在 Page_Load
上为空):
protected void btn_start_Click(object sender, EventArgs e)
{
.....
System.IO.File.WriteAllText(MapPath("~/Data/") + authuser + "_data.csv", data);
.....
string strDiagram = @"<script type=""text/javascript"">
chart = new Dygraph(document.getElementById(""MainContent_DivDiagramm""), 'http://webserver/test/Data/" + authuser + @"_data.csv',... //String reduced here
.....
DivDiagramm.InnerHtml = strDiagram;
一切正常,但使用的是旧数据。例如,我第一次打开页面时生成包含两周数据的 .csv,但 dygraph 仍为空。然后我在页面上生成 3 周的数据,然后用数据显示 dygraph 2 周。所以总是采用旧数据。
那么我如何告诉 javascript 始终采用新生成的 .csv 而不是之前 session 中的旧文件?还尝试了 Page_Complete
但结果相同。谢谢!
最佳答案
在 JavaScript 中访问 CSV 文件时,将某种版本控制查询字符串添加到 CSV 文件 URL,例如:
chart = new Dygraph(
document.getElementById(""MainContent_DivDiagramm""),
'http://webserver/test/Data/" + authuser + @"_data.csv?v=" + DateTime.Now.Ticks.ToString() + "');"
关于javascript - 单击具有实际值的按钮后在 aspx 页面上运行 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30047798/