大家都知道设置flash的wmode属性为transparent可以让flash不遮挡div,但是openflashchart是用.net编译的,不太好修改,所以只能修改源码来生成新dll,主要修改OpenFlashChartControl.cs文件下的RenderControl方法即可,如下:
public override void RenderControl(HtmlTextWriter writer)
{
StringBuilder builder = new StringBuilder();
if (string.IsNullOrEmpty(ExternalSWFfile))
ExternalSWFfile = Page.ClientScript.GetWebResourceUrl(this.GetType(), "OpenFlashChart.open-flash-chart.swf");
builder.AppendFormat("<div id=\"{0}\">", this.ClientID);
builder.AppendLine("</div>");
builder.AppendLine("<script type=\"text/javascript\">");
builder.AppendFormat("swfobject.embedSWF(\"{0}\", \"{1}\", \"{2}\", \"{3}\",\"9.0.0\", \"expressInstall.swf\",",
ExternalSWFfile, this.ClientID, Width, Height);
builder.Append("{\"data-file\":\"");
builder.Append(DataFile);
builder.Append("\"},");
builder.Append("{wmode:\"transparent\"});");
builder.AppendLine("</script>");
writer.Write(builder.ToString());
base.RenderControl(writer);
}