【发布时间】:2011-07-28 08:55:40
【问题描述】:
谁能阐明以下现象?
我有一个在目标平台 IE7 上运行的 ASP.NET MVC 应用程序
如果我在数据库中输入一条记录,然后导航到包含 HighChart 图表的 ASPX 页面,则输入的数据不会被表示。我必须关闭浏览器并重新加载应用程序才能让数据显示在图表中。
我在调试模式下运行应用程序,并且代码没有命中控制器中的断点。就好像客户端 JQUERY 代码认为没有变化并且正在缓存。控制器甚至不会触发,但应用程序运行起来就像使用旧数据一样。
当我重新加载应用程序(停止和启动)时,控制器会触发,我可以调试并且最新数据进来
疯狂的东西,也许 web.config 或某处必须有一个设置,以确保客户端 JSON 调用总是转到控制器而不是缓存
非常感谢任何cmets
J
下面需要的代码:
function CreateChart1(surl) {
// Code block for fetching Array as jsonResult (js)
var url = $("#AbsolutePath").val() + "Incident.mvc/GetChartData_IncidentsBySiteStatus/" + surl;
var chart;
$.getJSON(url, null, function(data) {
var result = [];
jQuery.each(data, function(i, val) {
result[i] = [val.Site, parseInt(val.Count)];
});
chart = new Highcharts.Chart({
chart: {
renderTo: 'chart1',
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false
},
title: {
text: 'Number of Environmental Incidents by Site Status'
},
tooltip: {
formatter: function() {
return '<b>' + this.point.name + '</b>: ' + this.y + ' (' + Math.round(this.percentage) + '%)';
}
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: true
},
showInLegend: false
}
},
exporting: {
enabled: true
},
series: [{
type: 'pie',
name: 'Incidents by Site Status',
data: result
}]
});
});
};
控制器代码:
public JsonResult GetChartData_IncidentsBySiteStatus(string SiteTypeId, string searchTextSite, string StartDate, string EndDate)
{
if (searchTextSite == null)
searchTextSite = "";
DateTime startDate = DateTime.Parse(StartDate);
DateTime endDate = DateTime.Parse(EndDate);
IQueryable<Site> sitesQry = _db.Sites;
if (SiteTypeId != "-1")
sitesQry = sitesQry.Where(a => a.SiteTypeId.ToString() == SiteTypeId);
var qry = from i in _db.Incidents
join s in sitesQry on i.SiteId equals s.SiteId
where s.SiteDescription.Contains(searchTextSite)
&& (i.Raised >= startDate && i.Raised <= endDate)
group s by s.SiteStatus.SiteStatusDescription + "[" + s.SiteTypeId.ToString().Replace("1","ON").Replace("0","OFF") + "]"
into grp
select new
{
Site = grp.Key,
Count = grp.Count()
};
return Json(qry.ToList() , JsonRequestBehavior.AllowGet);
}
【问题讨论】:
-
stackoverflow.com/questions/264216/… 这可能会有所帮助
标签: jquery