ASP.Net 图表-获得通过jQuery在即7导致图象不到负荷
-
05-07-2019 - |
题
我用的 ASP.Net 制图控制 和ASP.Net 视.
我想有一个图表显示在一个页面上,用户可以改变的各种数据与此相关的图表,然后按一个按钮,它将执行一个后的动作,然后返回一新呈现的图表。这是刷新通过jQuery其中载有局部视图的含图表。
这问题我有的是,在即7I获得的图像找不到标。奇怪的是它的工作现在火狐!
更新过程的图表:
- 发新的参数后
- 应用程序改变的参数的图表对象
- 控制器发送的图象的局部视图,这使它喜欢控制
- jQuery然后载于这种局部视图。在即7i获得的图像找不到标。
这里是代码使用中的局部视图,来呈现的图表对象:
if (Model.Chart != null)
{
Model.Chart.Page = this.Page;
System.Web.UI.DataVisualization.Charting.Chart Chart1 = Model.Chart;
using (HtmlTextWriter writer = new HtmlTextWriter(this.Response.Output))
{
try
{
Chart1.ImageType = System.Web.UI.DataVisualization.Charting.ChartImageType.Jpeg;
Chart1.RenderControl(writer);
}
catch (Exception ex)
{
writer.WriteEncodedText(ex.Message);
}
}
}
干杯!
S其中载这些图表如下:
function PostWidgetDataOverride(ChartID) {
$.ajax({
url: "/Home/GetChart",
type: "POST",
dataType: "HTML",
data: { ChartID: ChartID, SeriesID: $('.SeriesID').val(), ParameterDefaults: $('.parameterDefault').serialize(), Time: getTimeStamp() },
success: UpdateChart
});
}
function UpdateChart(ChartContent) {
$("#widgetConfig").dialog("close");
var existingChart = CheckIfWidgetIsOnPage($(ChartContent).attr("id"))
if (existingChart !== undefined) {
existingChart.fadeOut("slow", function() { existingChart.replaceWith(ChartContent); }).fadeIn("slow");
}
else {
$(ChartContent).appendTo($("#dashboardArea")).fadeIn("slow");
}
}
解决方案
我认为问题是如何获得的图像。从你的代码发布它看起来像你得到的实际图像数据通过的ajax下载,然后插入新的图像数据进DOM。这可能会工作的火狐,但不适用于即(S永远不会试图或者)。无论如何假定,即不喜欢这会更好点的图像的图像处理程序通过源属性的图像元。当需要改变的图像只是改变的参数,在该网址传送给处理程序,当这种变化即和Firefox既提出请求的新形象。例如:
HTML
<img src="./chart.aspx?SeriesId=456&ChartId=123&Time=20091021155300" id="chart" />
从jQuery当你需要来更新图表:
function UpdateChart(chartId, seriesId, time){
$("#chart").attr("src","./chart.aspx?SeriesId="+seriesId+"&ChartId="+chartId+"&Time="+time);
}
其他提示
你可以写一个服务清理的图像x天或者您可以使用#SEQ(maxFiles、分)设置过期,但这不是真的性命名。
我得到了它的工作通过改变ImageStorageMode:
Chart1.ImageStorageMode = System.Web.UI.DataVisualization.Charting.ImageStorageMode.UseImageLocation
但现在它悬挂在一个文件夹。我不想要一个文件夹堵塞了图像...
不隶属于 StackOverflow