Hello,
At the moment I'm trying out the diagram component.
I've come across an issue regarding having the diagram in an update panel and a link button which exports the diagram as an image.
I can interact with the diagram an intended, but, when I click the export button I retrieve the image, and write it to the http response to force the download box. However, after the file in downloaded/opened/cancelled I can no longer interact normally with the diagram. If I try to drag a symbol, the waiting popup shows up and just stays there.
I've noticed that after exporting the image once, and trying to drag a symbol, the method for the export button click is repeated before calling the node drop method.
Here is the markup for the button and diagram:
...
onclick="Export1_Click">Exportar ...
height="700px" width="498px" DisabledBackgroundColor="Gray"
EnableNodeResize="False"
oncanvaclick="diagramwebcontrol1_CanvaClick"
onnodeclick="diagramwebcontrol1_NodeClick"
onnodedoubleclick="diagramwebcontrol1_NodeDoubleClick"
onnodedrop="diagramwebcontrol1_NodeDrop"
onnodeupdate="diagramwebcontrol1_NodeUpdate" ShowWaitingPopupOnCallback="True"
WaitingPopupAutoFormat="BlackIndicator" WaitingPopupText=""
WaitingPopupTransparency="50" Font-Names="Arial" Font-Size="12pt"
onload="diagramwebcontrol1_Load" BoundaryConstraintsEnabled="True"
EnableXHTML="False"
oncallbackrefresh="diagramwebcontrol1_CallbackRefresh"
EnableNodeSelection="False">
...
And here is the code behind:
...
protected void Export1_Click(object sender, EventArgs e)
{
System.Drawing.Image vImgExport = diagramwebcontrol1.ExportDiagramAsImage(true);
Guid vId = Guid.NewGuid();
string vStrFileName = "Image_" + vId + ".jpeg";
string vStrMapa = Server.MapPath("~/Temp/" + vStrFileName);
vImgExport.Save(vStrMapa);
System.IO.MemoryStream vMemStrm = new System.IO.MemoryStream();
vImgExport.Save(vMemStrm, System.Drawing.Imaging.ImageFormat.Bmp);
vImgExport.Dispose();
Response.ContentType = "image/bmp";
Response.AddHeader("content-disposition", "attachment; filename=" + vStrFileName);
Response.WriteFile(vStrMapa);
Response.Flush();
Response.Close();
}
...
Any ideas? Why is the Export1_Click method called again before the NodeDrop method? Is it related to the problem?
Thanks in advance.